Python的JFileChooser?

4

我想知道是否有类似于Java的 JFileChooser 的Python模块?

JFileChooser 是一个用于选择文件的图形界面。

最好是已经包含在Python中的模块,也可以使用Tkinter。


简要介绍一下JFileChooser可能有助于获得更好的答案。 - Harley Holcombe
6个回答

4

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


谢谢 Wayne。我想 Hank 已经完成了它 ;) - Nope

3

我曾经发现的最简单的方法是使用PyGTK和Kiwi

from kiwi.ui.dialogs import open as open_dialog

chosen_path = open_dialog('Select a file', folder='/start/folder')

if chosen_path is not None:
    # do something ...

2

如果不需要使用wxPython并且坚持使用标准的Python库,您可以使用tkFileDialog.askopenfilename()方法:

#!/usr/bin/python

from Tkinter import *
from tkFileDialog import askopenfilename

root = Tk()
root.withdraw()
print askopenfilename()

也许这适用于Python2。但是对于Python3,您需要A.L. Strine的答案。 - erik

1

这取决于你使用的窗口工具包。wxWidgets提供了wxFileDialog


1

对于Python 3,您需要使用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()

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


1
对于Python3,您需要检查pathString的定义(而不是空字符串):if pathString:(请参见此答案https://stackoverflow.com/a/47067803/1908115) - erik

0

也许你想看看Jython。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接