4

I was wondering if there is something similar to Java's JFileChooser for Python?

JFileChooser is a graphical front end to choose a file.

Preferably something that is already with Python. Maybe with Tkinter.

1
  • A quick explanation of what JFileChooser is might help get some better answers. Commented Jan 11, 2009 at 23:07

6 Answers 6

4

wxPython (www.wxpython.org) provides the wx.FileDialog class which will give you a native file selection dialog on any of the supported platforms (Mac, Linux or Windows).

Sign up to request clarification or add additional context in comments.

Comments

3

Easiest way I ever found to do this (using PyGTK and 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 ...

Comments

2

For something that doesn't require wxPython and sticks with the standard Python libs, you can use the tkFileDialog.askopenfilename() method:

#!/usr/bin/python

from Tkinter import *
from tkFileDialog import askopenfilename

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

1 Comment

Maybe this worked for python2. But for python3 you need the answer of A. L. Strine.
1

That would depend on your windowing toolkit. wxWidgets provides the wxFileDialog.

Comments

1

For python 3 what you're looking for is tkinter.filedialog, and all that comes with it. Here's a short program that opens and then prints a TXT file of the user's choosing via 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()

Output is whatever is in the selected file.

1 Comment

For python3 you need to check for definition of pathString (not for empty string): if pathString: (see this answer stackoverflow.com/a/47067803/1908115 )
0

Maybe you would like to take a look at Jython.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.