我必须使用循环打开多个演示文稿,获取一些数据并关闭它
我似乎找不到一种方法来关闭python pptx中的ppt文件,而不保存/覆盖它
我使用以下命令打开ppt文件
pptfile = addressList[xyz]
prs = Presentation(pptfile)
slides = prs.slides
但我找不到一种不保存就关闭演示文稿(prs)以加载下一个ppt的方法
我有一份临时工作,工作内容如下
prs.save(r"C:\Users\prashant.kumar\temp.pptx")
因为prs.save
关闭了ppt,所以它可以正常工作,但是我想要一种更好的方法来关闭ppt,而不创建临时ppt文件
是否有python-pptx
的Presentation
属性,我可以使用它关闭ppt而不保存
python-pptx
在您处理文件时不会保持文件处于打开状态。当你打电话时:文件
pptfile
在返回Presentation
对象之前被打开、读入内存并关闭。因此,您可以只使用prs
引用获取所需内容,然后放弃它进行垃圾收集,就像Python中的任何其他对象一样您在问题中没有提到由于文件处于打开状态而导致某些操作不被允许的问题,因此我假设您认为这将是一个问题,并且实际上没有遇到问题
你可以试试这个:
只是。。。停止使用它?pptx似乎没有
__del__
,因此如果您只是停止使用它而不保存,它就不应该保存如果出于某种原因,这不起作用(尽管这会很奇怪,因为我也不知道它会保存修改后的演示文稿),您可以给pptx一个文件对象,加载演示文稿后可以关闭该对象:
它不应该能够修改文件,即使它想修改
相关问题 更多 >
编程相关推荐