Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python3.6中,试图通过按钮从filedialog获取所选文件的完整路径_Python_Python 3.x_User Interface_Tkinter_Filepath - Fatal编程技术网

在Python3.6中,试图通过按钮从filedialog获取所选文件的完整路径

在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

键入GUI以进一步将其与另一部分代码合并。我一直坚持将“x:/folder1/folder2/Sample.rar”这样的文件的完整路径作为字符串。我需要将它放在标签或条目中(不管怎样,只是为了显示它已获取),并使用此字符串进行进一步的输入,这将做一些工作。 我曾尝试将is作为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()

复制评论:我找到了一种方法,但标签不可调用

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的方式。不这样肯定更好,先生。谢谢