Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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
Java Python的JFileChooser?_Java_Python_Jfilechooser - Fatal编程技术网

Java Python的JFileChooser?

Java Python的JFileChooser?,java,python,jfilechooser,Java,Python,Jfilechooser,我想知道Python是否有类似于Java的JFileChooser的东西 JFileChooser是选择文件的图形前端 最好是已经使用Python的东西。可能是Tkinter。这取决于您的窗口工具包。wxWidgets提供了。wxPython(www.wxPython.org)提供了wx.FileDialog类,该类将在任何受支持的平台(Mac、Linux或Windows)上为您提供本机文件选择对话框。也许您想看看Jython。我找到的最简单的方法(使用PyGTK和): 对于不需要wxPytho

我想知道Python是否有类似于Java的
JFileChooser
的东西

JFileChooser
是选择文件的图形前端


最好是已经使用Python的东西。可能是Tkinter。

这取决于您的窗口工具包。wxWidgets提供了。

wxPython(www.wxPython.org)提供了wx.FileDialog类,该类将在任何受支持的平台(Mac、Linux或Windows)上为您提供本机文件选择对话框。

也许您想看看Jython。

我找到的最简单的方法(使用PyGTK和):


对于不需要wxPython且使用标准Python libs的内容,可以使用tkFileDialog.askopenfilename()方法:


对于Python3,您需要的是tkinter.filedialog,以及它附带的所有内容。下面是一个简短的程序,它打开并打印用户通过askopenfilename选择的TXT文件:

from tkinter import *
from tkinter.filedialog import askopenfilename

root = Tk()
root.withdraw()
root.update()
pathString = askopenfilename(filetypes=[("Text files","*.txt")])
if pathString:
    openFile = open(pathString, 'r')
    fileString = openFile.read()
    print(fileString)
root.destroy()

输出是所选文件中的任何内容。

快速解释一下JFileChooser是什么可能有助于获得更好的答案。谢谢Hank,我会研究它。:)谢谢你,韦恩。想想汉克比你抢先一步;)也许这对python2有用。但是对于python3,您需要A.L.Strine的答案。对于python3,您需要检查
路径字符串
的定义(而不是空字符串):
如果路径字符串:
(请参见此答案)
#!/usr/bin/python

from Tkinter import *
from tkFileDialog import askopenfilename

root = Tk()
root.withdraw()
print askopenfilename()
from tkinter import *
from tkinter.filedialog import askopenfilename

root = Tk()
root.withdraw()
root.update()
pathString = askopenfilename(filetypes=[("Text files","*.txt")])
if pathString:
    openFile = open(pathString, 'r')
    fileString = openFile.read()
    print(fileString)
root.destroy()