python - python-浏览文件并将其与另一个命令一起使用
问题描述
我想从用户选择的 pdf 中提取文本。我编写了代码,它可以工作。但我想用用户浏览文件上的按钮执行命令(而不是 E01.2.4.pdf,我想选择用户选择的文件)。我怎样才能改变我的代码来做到这一点?
浏览文件:
def OpenFile ():
file1 = filedialog.askopenfile (mode ="r")
label = Label(text=file1).pack()
提取文本:
def ExtractText ():
read_pdf = PyPDF2.PdfFileReader(open('E01.2.4.pdf', 'rb'))
i = 0
while i<read_pdf.getNumPages():
pageinfo = read_pdf.getPage (i)
print(pageinfo.extractText())
i = i + 1
解决方案
考虑关注点分离的原则
一个问题是向用户请求文件名。
def openFile():
"""requests filename from user"""
filename = filedialog.askopenfile(mode ="r")
# ... further file name processing
return filename
另一个问题是处理请求的文件:
def ExtractText(filename):
pdfReader = PyPDF2.PdfFileReader(open(filename, 'rb'))
for page in range(pdfReader.numPages):
page = pdfReader.getPage(page)
print(page.extractText())
# ...
推荐阅读
- android - 将 Android Studio 更新到 3.2 后的编译问题
- django - 在 django 模板中定义变量
- sql - 单个 Oracle SQL 查询中的奇偶数
- symfony - Symfony 路由要求被忽略
- java - 我无法向 SQLite 插入数据,也看不到我的表
- php - 如何将 php mail() 函数转换为 smtp
- php - array_sum 不同逗号的数字不等于零但长数字
- javascript - 记录 XHR 的请求负载
- c# - 这是在 WPF、Prism、MVVM 上进行和显示验证的正确方法吗?
- python - 在 ElasticSearch 中使用建议获取所有数据