试图从Python 3.6的filedialog中通过按钮获取所选文件的完整路径

问题描述 投票:0回答:1

键入GUI以便进一步将其与另一部分代码合并。我一直坚持以字符串形式获取“ x:/folder1/folder2/Sample.rar”之类的文件的完整路径。我需要将其放入Label或Entry(无论如何,只是为了显示它已被提取),并使用此字符串作为进一步的输入来完成一些工作。我试图得到的是str,但没有得到任何结果。期待学习制作字符串的方法。

import os
#import rarfile
import tkinter.messagebox
from tkinter import filedialog
from tkinter.filedialog import askopenfilename
from tkinter import *
from tkinter import ttk
from cgitb import text

window = Tk()
window.title("GUI")
window.geometry('430x500')

lbl3 = Label(window, text="Choose log archives: ", font='Trebushet 8')
lbl3.grid(column=0, row=10)

browseFile = Button(text="Browse files", font='Trebushet 8', width=15, command=lambda : 
            filedialog.askopenfilename(initialdir = "/",
            title = "Seledct archives including logs",
            filetypes = (("RAR files","*.rar"))))
browseFile.grid(column=0, row=11)

FileName = Label(window)
FileName.grid(column=0, row=12)

if browseFile:
    print (str(FileName))
window.mainloop()

复制评论:我找到了一种方法,但Label无法调用。

def print_path(): 
    f = tkinter.filedialog.askopenfilename( parent=window, initialdir='C:/', title='Choose file', filetypes=[("RAR files","*.rar"), ("all files","*.*")] ) print(str(FileName())) 
    browseFile = tkinter.Button(window, text='Browse file', 
                                command=print_path) 
    browseFile.grid(column=0, row=11) 
    browseFile.pack(fill=FileName())
python python-3.x user-interface tkinter filepath
1个回答
1
投票

您忘了在文件类型arg中添加,请参见下文。

文件类型=((“ RAR文件”,“ *。rar”),)))]

© www.soinside.com 2019 - 2024. All rights reserved.