Dave
Dave

Reputation: 3956

Choosing a file in Python3

Where is the tkFileDialog module in Python 3? The question Choosing a file in Python with simple Dialog references the module using:

from Tkinter import Tk
from tkFileDialog import askopenfilename

but using that (after changing Tkinter to tkinter) in Python 3 gets:

Traceback (most recent call last):
  File "C:\Documents and Settings\me\My Documents\file.pyw", line 5, in <module>
    import tkFileDialog
ImportError: No module named tkFileDialog

The python 2.7.2 doc (docs.python.org) says:

tkFileDialog
Common dialogs to allow the user to specify a file to open or save.

These have been renamed as well in Python 3.0; they were all made submodules of the new tkinter package.

but it gives no hint what the new names would be, and searching for tkFileDialog and askopenfilename in the 3.2.2 docs returns nothing at all (not even a mapping from the old names to the new submodule names.)

Trying the obvious doesn't do jack:

from tkinter import askopenfilename, asksaveasfilename
ImportError: cannot import name askopenfilename

How do you call the equivalent of askopenfilename() in Python 3?

Upvotes: 14

Views: 58574

Answers (2)

user1741137
user1741137

Reputation: 5058

You can try something like this:

from  tkinter import *
root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "E:/Images",title = "choose your file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)
root.withdraw()

Upvotes: 14

brc
brc

Reputation: 5391

You're looking for tkinter.filedialog as noted in the docs.

from tkinter import filedialog

You can look at what methods/classes are in filedialog by running help(filedialog) in the python interpreter. I think filedialog.LoadFileDialog is what you're looking for.

Upvotes: 35

Related Questions