0

我正在用 python 编写一个 python 程序,它需要我使用 open Dialog

但我收到以下错误

askopenfile() 为参数 'mode' 获得了多个值

我的代码

def open_file():
    browse_text.set("loading...")
    file = askopenfile(root, mode='r', title="Choose a file", filetype=[("pdf file", "*.pdf")])
    if file:
        read_file = PyPDF2.PdfFileReader(file)
        page = read_file.getPage(0)
        page_content = page.extractText()

        text_box = tk.Tex(root, height=10, width=50, padx=15, pady=15)
        text_box.insert(1.0, page_content)
        text_box.grid(column=1, row=3)

browse_text = tk.StringVar();
browse_btn = tk.Button(root, textvariable=browse_text, command=lambda: open_file(), bg="blue", fg="white", font="arial", height=3, width=15)
browse_text.set("Open file")
4

1 回答 1

1

askopenfile不接受root参数

>>> from tkinter.filedialog import askopenfile
>>> help(askopenfile)
Help on function askopenfile in module tkinter.filedialog:

askopenfile(mode='r', **options)
    Ask for a filename to open, and returned the opened file

所以只要改变

file = askopenfile( root, mode='r', title="选择一个文件", filetype=[("pdf文件", "*.pdf")])

file = askopenfile(mode='r', title="选择一个文件", filetype=[("pdf文件", "*.pdf")])
于 2022-02-24T10:27:13.180 回答