首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用python关闭PDF

用python关闭PDF
EN

Stack Overflow用户
提问于 2019-04-14 16:47:56
回答 1查看 1.5K关注 0票数 2

我正在编写的代码必须重命名并更改某个文件夹中某些PDF的目录;单个PDF的新名称和新目录都取决于PDF本身的内容。PDF之间差别很大,因此提取我需要的数据并不简单。

说到这里,我决定这样做:

  • 打开并显示PDF;
  • 在打开的PDF中手动搜索我需要的参数;
  • 给出作为输入的参数;
  • 关闭PDF;
  • 用他的新名字和新目录重命名PDF。

但是,我没有设法关闭打开的PDF,所以如果打开它,就不能重命名它。我编写了这段代码作为示例:

代码语言:javascript
运行
复制
import os

oldpath = "C:\\Users\Desktop\Training/"
os.chdir = oldpath

for oldname in os.listdir(oldpath):

    os.startfile(oldname)

    print("Parameter 1")
    P1 = input()
    print("Parameter 2")
    P2 = input()
    print("Parameter 3")
    P3 = input()

    #I want to close the opened file here

    newpath = oldpath + "/" + P1 + "/" + P2 + "/"
    newname = P3 + ".pdf"

    os.rename(oldpath + "/" + oldname, newpath + "/" + newname)

你能建议我如何解决这个问题吗?你认为有更聪明的方法吗?

问候

EN

回答 1

Stack Overflow用户

发布于 2019-04-14 16:57:28

使用os.startfile()是一种相当聪明的方法,我感到惊讶的是,它似乎允许您阅读(至少是一些)您想从..pdf中阅读的内容。酷!

但是您不能“关闭”应用程序(大概是Windows上的Acrobat Reader ):

https://docs.python.org/3/library/os.html startfile()在相关应用程序启动后立即返回。无法选择等待应用程序关闭,也无法检索应用程序的退出状态。

建议:

尝试使用.pdf库“打开”和“读取”您的..pdf。例如,PDFMiner

PS:

os.startfile()导致了“文件在使用”,从而阻止了os.rename()。也许您可以先移动/重命名文件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55677712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档