Выбор файла в Python3

Где находится модуль tkFileDialog в Python 3? Вопрос Выбор файла в Python с помощью простого диалога ссылается на модуль, используя:

from Tkinter import Tk
from tkFileDialog import askopenfilename

но используя это (после смены Tkinter на tkinter) в Python 3 получает:

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

В python 2.7.2 doc (docs.python.org) говорится:

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.

но он не дает никаких намеков на то, что было бы новыми именами, и поиск tkFileDialog и askopenfilename в документах 3.2.2 ничего не возвращает (даже не сопоставление старых имен с именами новых подмодулей.)

Попытка очевидного не делает jack:

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

Как вы называете эквивалент askopenfilename() в Python 3?

Ответ 1

Вы ищете tkinter.filedialog, как указано в документах.

from tkinter import filedialog

Вы можете посмотреть, какие методы/классы находятся в filedialog, запустив help(filedialog) в интерпретаторе python. Я думаю, что filedialog.LoadFileDialog - это то, что вы ищете.

Ответ 2

Вы можете попробовать что-то вроде этого:

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()

Ответ 3

Сначала вам нужно импортировать filedialog, вы можете сделать это следующим образом:

from  tkinter import *
from tkinter import filedialog

root = Tk()

root.filename =  filedialog.askopenfilename(initialdir = "/", title = "Select file")
print (root.filename)

root.mainloop()