为什么“来自tkinter import *”不起作用,但“来自Tkinter import *”有效?

时间:2015-05-16 02:15:16

标签: python python-2.7 tkinter

我的问题是当我写import tkinter时(小t)它显示导入错误。当我把它设为大写'T'时:import Tkinter它可以工作,但它会弹出文件对话框错误! 请帮忙! 我在Windows 7 64位上运行python 2.7.8

我的错误(当我使用大写T代表Tkinter时)

Traceback (most recent call last):
  File "C:\Users\Ashim\Desktop\plotlib.py", line 5, in <module>
    from Tkinter.filedialog import askopenfilename
ImportError: No module named filedialog

3 个答案:

答案 0 :(得分:1)

我不知道您所看到的对话,也许您可​​以提供更多相关信息。

大写的重要性是因为python区分大小写。这意味着大写和小写字母彼此不同。所以&#39; tkinter&#39;和Tkinter&#39;不一样。如果字符串不完全匹配,则它们不相同。

答案 1 :(得分:1)

在python2中,该模块称为Tkinter。在python3中,它被称为tkinter。不要问我为什么会这样。

当您尝试使用*导入时,某些类也无法导入。使用tkinter时,我通常会进行from Tkinter import *

答案 2 :(得分:1)

在python 2.x上,tkinter被称为Tkinter,因此必须使用import Tkinter导入它。在python 3.x上采用小写。

针对2.x系列的项目将具有Tkinter,而针对3.x系列的项目将使用小写,针对两个python版本的项目将检查版本并导入相应的库。

编辑tkinter.filedialog特定于python3

在python 2.x上,导入应该是import tkFileDialog