tkinter.filedialog仅适用于Python 3。
根据您的尝试,似乎您正在使用
Python 2.x,尝试导入
tkFileDialog
范例-
import tkFileDialog as filedialog
或者,检查为什么它最终运行Python 2.x而不是Python3.x。
Tkintermodule仅在python 2中存在,python
3具有
tkinter模块,因为导入
Tkinter时成功导入了它,但是导入时却
tkinter无法导入它,我们可以确保最终运行Python
2.x而不是Python 3。
你可以做 -
import sysprint(sys.version)print(sys.executable)
检查当前正在运行的python版本以及正在运行的
python(或
python3)的位置。
发生此问题的可能性最大,因为即使
python3您的脚本中有shebang行,您也很可能正在运行
python<script.py>,这始终会导致python 2运行。
添加
python3shebang行的目的是能够直接运行脚本,而无需指定可执行文件。为此,您需要-
- 授予脚本可执行权限。(使用
chmod u+x <script.py>
) - 然后运行脚本为-
./<script.py>



