python-为什么Tkinter只在交互式环境中工作?
我刚刚开始试验Tkinter,由于我注意到一些特性,我有一些问题 首先,我尝试使用交互式python环境,并键入以下内容:python-为什么Tkinter只在交互式环境中工作?,python,tkinter,python-3.7,Python,Tkinter,Python 3.7,我刚刚开始试验Tkinter,由于我注意到一些特性,我有一些问题 首先,我尝试使用交互式python环境,并键入以下内容: >>> import tkinter >>> win = tkinter.Tk() 一个新窗口正确地出现在我的屏幕上 然后我尝试创建一个.py脚本: import tkinter win = tkinter.Tk() 这就是我犯的错误 Traceback (most recent call last): File "tkinter
>>> import tkinter
>>> win = tkinter.Tk()
一个新窗口正确地出现在我的屏幕上
然后我尝试创建一个.py脚本:
import tkinter
win = tkinter.Tk()
这就是我犯的错误
Traceback (most recent call last):
File "tkinter.py", line 1, in <module>
import tkinter
File "/home/***/tests/tkinter.py", line 2, in <module>
win = tkinter.Tk()
AttributeError: module 'tkinter' has no attribute 'Tk'
它会打印hello两次。因此,我删除了import tkinter
行。它只打印一次Hello
我实在无法解释这种奇怪的行为。我在找一个可以的人
谢谢。根据异常详细信息,当从“tkinter.py”运行
import tkinter
行时,您正在将自己的“tkinter.py”文件作为模块而不是tkinter库导入Tk()
未在“tkinter.py”文件中定义,调用它会导致AttributeError
。在第二个例子中,print(“Hello”)
也会发生同样的情况-它会运行两次:第一次,当您导入文件时,第二次,在此之后调用print(“Hello”)
将文件从“tkinter.py”重命名为其他名称,例如“my_example.py”,以解决此问题。将文件名从“tkinter.py”更改为其他名称,例如“my_example.py”,我怀疑您正在导入自己的py文件。重命名该文件。“Hello”打印两次,一次用于运行文件,另一次用于导入文件,因此打印异常:dthank很多。这就是问题所在。重命名文件并重新运行python的工作与预期的一样。非常感谢。:)
import tkinter
print("Hello")