python-浏览文件并与其他命令一起使用

时间:2020-06-16 19:35:20

标签: python python-3.x pdf

我想从用户选择的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

1 个答案:

答案 0 :(得分:0)

考虑原则Separation of concerns

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

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