As show in : https://python-pptx.readthedocs.io/en/latest/user/presentations.html#opening-a-file-like-presentation
If you try the demo code as is for 'file like' objects, you can't open the pptx, you get the below type message (something with zipfile processing...)
But if you do the
x = Presentation("actual.pptx") the file opens and processes just fine
Bottom line: any variant on this (fails)
f = open('foobar.pptx')
prs = Presentation(f)
f.close()
Environment is python3 (Linux)
Traceback (most recent call last):
File "/home/quandt/Desktop/devel/photobooth/api/t.py", line 12, in
prs = Presentation(f)
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/api.py", line 31, in Presentation
presentation_part = Package.open(pptx).main_document_part
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 82, in open
return cls(pkg_file)._load()
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 160, in _load
pkg_xml_rels, parts = _PackageLoader.load(self._pkg_file, cast("Package", self))
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 190, in load
return cls(pkg_file, package)._load()
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 194, in _load
parts, xml_rels = self._parts, self._xml_rels
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/util.py", line 191, in get
value = self._fget(obj)
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 222, in _parts
content_types = self._content_types
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/util.py", line 191, in get
value = self._fget(obj)
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/package.py", line 207, in _content_types
return _ContentTypeMap.from_xml(self._package_reader[CONTENT_TYPES_URI])
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/serialized.py", line 38, in getitem
return self._blob_reader[pack_uri]
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/serialized.py", line 187, in getitem
if pack_uri not in self._blobs:
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/util.py", line 191, in get
value = self._fget(obj)
File "/home/quandt/Desktop/devel/photobooth/api/env/lib/python3.9/site-packages/pptx/opc/serialized.py", line 194, in _blobs
with zipfile.ZipFile(self._pkg_file, "r") as z:
File "/usr/local/lib/python3.9/zipfile.py", line 1266, in init
self._RealGetContents()
File "/usr/local/lib/python3.9/zipfile.py", line 1333, in _RealGetContents
raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file