Tkinter tkFileDialog不存在。

47

我正尝试在Python中使用Tkinter来显示打开文件对话框。我找到的每个示例都似乎非常容易使用,但它们都以以下行开始:

from tkinter import filedialog

import tkFileDialog

这行代码出错了,报错信息是:

No module named 'tkFileDialog'

看起来我的Python没有tkFileDialog。所以我尝试搜索它,但似乎你不需要“下载”Tkinter,因为它已经随Python一起安装。为什么我的Tkinter缺少tkFileDialog呢?有没有地方可以获取它以便我使用?

另一个我想到的是,也许它的名称已经改变了,因为我阅读的示例是旧的。在Python 3中导入tkFileDialog是否有不同的方法?

我正在运行Windows 7 64位,Python版本。

3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]

非常感谢任何帮助!


1
@StevenVascellaro 这绝对是一个重复的问题。你最近对那个问题的编辑使它变得更加广泛适用。之前它没有提到tkFileDialog,这会让人们在谷歌搜索我的错误时很难找到。但现在它已经包含了,看起来是一个很好的资源! - gfrung4
1个回答

103
该代码在Python 2.x中可以正常工作,但现在已不再有效。在Python 3.x中,tkFileDialog被重命名为filedialog并放置在Tkinter包内。现在你可以这样导入它:
import tkinter.filedialog
# or
from tkinter import filedialog

Tkinter包在Python 3中已改名为tkinter,并且与之相关的其他模块也是如此。https://dev59.com/YHRB5IYBdhLWcg3wSVYI - JinSnow
为了支持Python 2和Python 3,只需在Python 2中执行import tkFileDialog as filedialog,在Python 3中执行from tkinter import filedialog。(将其放入if/else块中) - A T

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