我是编程的新手,我试图制作一个简单的程序来替换长度超过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)
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
>>>
我知道这可能与tkinter模块有关,但我真的不知道它是什么或如何解决。
答案 0 :(得分:2)
您正试图调用Tk
,它实际上是tkinter
模块的别名。在这种情况下,您想做的是:
r = Tk.Tk()
import pyperclip
import tkinter as Tk
while True:
r = Tk.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")
答案 1 :(得分:0)
Tk是一个模块,基本上,只有您用您的代码中的另一个名称调用它,它才是tkinter模块。这就是为什么您不能做properties
的原因。
您可能想要做类似的事情:
easierTest({ foo: "" }); // false
easierTest({ id: "", foo: "" }); // true
easierTest({ id: "", foo: "", bar: "" }); // false
easierTest({ id: "", foo: "", bar: false }); // true
easierTest({ id: "", baz: {} }); // false
easierTest({ id: "", baz: { a: "" } }); // true
或
Tk()
将NameOfClass替换为您要使用的类的名称。