Выбор файла в 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()