我正在尝试创建一个带有浏览窗口的GUI来定位特定的文件。我之前发现了这个问题:Browsing file or directory Dialog in Python
尽管当我查找这些术语时,它似乎并不是我想要的。
我所需要的是一个可以从Tkinter按钮启动的东西,它返回浏览器中所选文件的路径。
有没有人有这方面的资源?
编辑:好了,问题已经回答了。对于任何有类似问题的人来说,做你的研究,代码是可以工作的。不要在cygwin中测试它。因为某些原因,它在那里不能工作。
发布于 2013-11-13 11:41:17
我想TkFileDialog可能会对你有用。
import Tkinter
import tkFileDialog
import os
root = Tkinter.Tk()
root.withdraw() #use to hide tkinter window
currdir = os.getcwd()
tempdir = tkFileDialog.askdirectory(parent=root, initialdir=currdir, title='Please select a directory')
if len(tempdir) > 0:
print "You chose %s" % tempdir
编辑:this link有更多的例子
发布于 2014-07-09 16:38:13
这将生成一个GUI,其中只有一个名为“Browse”的按钮,它会打印出您从浏览器中选择的文件路径。文件的类型可以通过更改代码段<*.type>来指定。
from Tkinter import *
import tkFileDialog
import sys
if sys.version_info[0] < 3:
import Tkinter as Tk
else:
import tkinter as Tk
def browse_file():
fname = tkFileDialog.askopenfilename(filetypes = (("Template files", "*.type"), ("All files", "*")))
print fname
root = Tk.Tk()
root.wm_title("Browser")
broButton = Tk.Button(master = root, text = 'Browse', width = 6, command=browse_file)
broButton.pack(side=Tk.LEFT, padx = 2, pady=2)
Tk.mainloop()
发布于 2019-08-16 00:31:18
基于前面的答案和在此线程中找到的答案:How to give Tkinter file dialog focus这里是在Python3中快速启动文件选择器的方法,而无需看到修补程序窗口,还可以将浏览窗口拉到屏幕的前面
import tkinter
from tkinter import filedialog
#initiate tinker and hide window
main_win = tkinter.Tk()
main_win.withdraw()
main_win.overrideredirect(True)
main_win.geometry('0x0+0+0')
main_win.deiconify()
main_win.lift()
main_win.focus_force()
#open file selector
main_win.sourceFile = filedialog.askopenfilename(parent=main_win, initialdir= "/",
title='Please select a directory')
#close window after selection
main_win.destroy()
#print path
print(main_win.sourceFile )
https://stackoverflow.com/questions/19944712
复制相似问题