python3中的错误(TypeError:';模块';对象不可调用)
我是编程新手,我正在尝试制作一个简单的程序,当它超过10个字符时,用字符串替换我复制的内容,代码如下:python3中的错误(TypeError:';模块';对象不可调用),python,python-3.x,tkinter,pyperclip,Python,Python 3.x,Tkinter,Pyperclip,我是编程新手,我正在尝试制作一个简单的程序,当它超过10个字符时,用字符串替换我复制的内容,代码如下: import pyperclip import tkinter as Tk while True: r = Tk() r.withdraw() try: selection = r.selection.get(selection="CLIPBOARD") except tk.TclError: selection = None sleep(0.1)
import pyperclip
import tkinter as Tk
while True:
r = Tk()
r.withdraw()
try:
selection = r.selection.get(selection="CLIPBOARD")
except tk.TclError:
selection = None
sleep(0.1)
try:
selection = r.selection.get(selection="CLIPBOARD")
except tk.TclError:
selection = None
r.clipboard_clear()
if len(result) > 10:
pyperclip.copy("aaa")
但这给了我一个错误:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: 'module' object is not callable
>>>
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
TypeError:“模块”对象不可调用
>>>
我知道这可能与tkinter模块有关,但我真的不知道它是什么或如何解决它。您试图调用
Tk
,它实际上是tkinter
模块的别名。在这种情况下,您要做的是:
r = Tk.Tk()
Tk是一个模块,基本上,它是tkinter模块,只是在代码中用另一个名称调用它。这就是为什么您不能执行
Tk()
。
您可能希望执行以下操作:
r = Tk.NameOfClass()
或
将NameOfClass替换为您要使用的类的名称。
Tk()
应该是Tk.Tk()
它说的是第2行。第一个Tk
是模块名,第二个Tk
是类名。我这样做了,现在它说:回溯(最近一次调用):文件“”,第5行,在文件“C:\Program Files(x86)中\Python38-32\lib\tkinter_init_u2;.py”,第2345行,在getattr返回getattr(self.tk,attr)AttributeError:“\u tkinter.tkapp”对象没有属性“selection”应该是什么?这不是Tkinter属性。
r = Tk.NameOfClass()
from Tkinter import NameOfClass