首页 > 解决方案 > 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

标签: pythonpython-3.xpdf

解决方案


考虑关注点分离的原则

一个问题是向用户请求文件名。

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())
        # ...

推荐阅读