I'm trying to know if a blend file contains images and if it contains to unpack the images out to the directory. So just before I'm running this line:
bpy.ops.file.unpack_all(method='USE_ORIGINAL')
to ask if this blend file is with packed images.
Look at the value of the Image.packed_file property. Will be None if not packed.
Console test.
>>> for i in bpy.data.images:
... i.name, i.packed_file
...
('3cb598.jpg', bpy.data.images['3cb598.jpg']...PackedFile)
('3b17ebcf9eb9.jpg', None)
('huge.49.247445.JPG', bpy.data.images['huge.49.247445.JPG']...PackedFile)
('Render Result', None)
>>>