为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不将其保存在Python pptx中的情况下关闭演示文稿

如何在不将其保存在Python pptx中的情况下关闭演示文稿

RISEBY 2022-09-06 16:29:00
我必须使用循环打开多个演示文稿,获取一些数据并关闭它。我似乎找不到一种方法来关闭python pptx中的ppt文件而不保存/覆盖它。我使用以下内容打开ppt文件pptfile = addressList[xyz]prs = Presentation(pptfile)slides = prs.slides但我找不到一种方法来关闭演示文稿(prs)而不保存,以便加载下一个ppt我有一个临时工作,如下所示prs.save(r"C:\Users\prashant.kumar\temp.pptx")由于关闭ppt,它工作正常,但我想要一个更好的方法来关闭ppt,而无需创建临时ppt文件。prs.save有没有一个属性,我可以用来关闭ppt而不保存?Presentationpython-pptx
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

有没有python-pptx的Presention属性,我可以用来关闭ppt而不保存?


只。。。停止使用它?pptx似乎没有,所以如果你只是停止使用它而不保存它,它不应该保存。__del__


如果由于某种原因这不起作用(尽管这很奇怪,因为同样,我看不到它会保存修改后的演示文稿的位置),您可以为pptx提供一个文件对象,您可以在加载演示文稿后关闭它:


pptfile = addressList[xyz]

with open(pptfile, 'rb') as f:

    prs = Presentation(f)

slides = prs.slides

它应该不能修改文件,即使它想要。


查看完整回答
反对 回复 2022-09-06
?
哔哔one

TA贡献1854条经验 获得超8个赞

python-pptx在您处理文件时,不会将其保持打开状态。当您呼叫时:

prs = Presentation(pptfile)

文件被打开、读入内存和关闭,所有这些都是在返回对象之前完成的。因此,您可以将引用用于所需的任何内容,然后将其放弃用于垃圾回收,与Python中的任何其他对象相同。pptfilePresentationprs

您没有在问题中提到由于文件已打开而不允许某些操作的问题,因此我假设您只是认为这将是一个问题,但实际上并没有遇到问题。


查看完整回答
反对 回复 2022-09-06
?
jeck猫

TA贡献1909条经验 获得超7个赞

你可以试试这个:

import os

os.system("TASKKILL /F /IM powerpnt.exe")


查看完整回答
反对 回复 2022-09-06
  • 3 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信