在Python3.6中,试图通过按钮从filedialog获取所选文件的完整路径
键入GUI以进一步将其与另一部分代码合并。我一直坚持将“x:/folder1/folder2/Sample.rar”这样的文件的完整路径作为字符串。我需要将它放在标签或条目中(不管怎样,只是为了显示它已获取),并使用此字符串进行进一步的输入,这将做一些工作。 我曾尝试将is作为str,但没有得到任何结果。 期待学习一种制作字符串的方法在Python3.6中,试图通过按钮从filedialog获取所选文件的完整路径,python,python-3.x,user-interface,tkinter,filepath,Python,Python 3.x,User Interface,Tkinter,Filepath,键入GUI以进一步将其与另一部分代码合并。我一直坚持将“x:/folder1/folder2/Sample.rar”这样的文件的完整路径作为字符串。我需要将它放在标签或条目中(不管怎样,只是为了显示它已获取),并使用此字符串进行进一步的输入,这将做一些工作。 我曾尝试将is作为str,但没有得到任何结果。 期待学习一种制作字符串的方法 import os #import rarfile import tkinter.messagebox from tkinter import filedialo
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()
复制评论:我找到了一种方法,但标签不可调用
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())
您忘记在filetypes参数中添加,请参见下面的
文件类型=((“RAR文件”,“*.RAR”),)所以,亲爱的朋友们。我已经定义了一个满足我的需求的解决方案。这是对entry的简单定义,使用entry作为插入str的便捷方式
def input():
input_path = filedialog.askopenfilename(initialdir="/", title="Open file",
filetypes=[("RAR files","*.rar"), ("all files","*.*")]
)
print(input_path)
input_entry.delete(1, END) # Remove current text in entry
input_entry.insert(0, input_path) # Insert the 'path'
button = Button(window, text='Choose a file', command=lambda : input())
button.grid(column=0, row=11)
Empty4 = Label(window)
Empty4.grid(column=0, row=12)
input_entry = Entry(window, text="")
input_entry.grid(column=0, row=13)
input_entry.focus_set()
input_entry.update()
感谢您在这里提供的想法和提示。您认为如何。
askopenfilename(…
返回所选文件名?阅读我找到了一种方法,但无法调用标签。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())
应用所有要点后,我会用工作代码回复。谢谢链接,先生。解决方案已经找到。感谢您的参考。标签不是放置Str的方式。不这样肯定更好,先生。谢谢