所以我的代码在识别时遇到了一些问题
keyboard.type()
作为类型而不是字符串,我拥有所有必要的导入。
我该如何解决这个问题?
with open("words.txt") as fp:
line = fp.readline()
cnt = 1
while line:
print(line)
line = fp.readline()
cnt += 1
exploit(line)
def exploit(keyboard):
time.sleep(2)
keyboard.type(line)
错误:
File "C:\Users\User\Desktop\ref.py", line 63, in start
exploit(line)
File "C:\Users\User\Desktop\ref.py", line 46, in exploit
keyboard.type("hello")
AttributeError: 'str' object has no attribute 'type'
键盘模块( https://pypi.org/project/pynput/ )已导入
最佳答案
我假设您有一个导入键盘
行,但您没有向我们展示。 (下次请提供完整的MCVE)。
问题出在这一行:
def exploit(keyboard):
在此函数中将无法访问 keyboard
模块,因为其名称已被您在此处定义的 keyboard
参数覆盖。例如,如果您调用 exploit("Hello")
,则此代码将尝试执行 "Hello".type(line)
。但该字符串没有名为 type
的方法。您可能想使用名称 line
来代替。
def exploit(line):
time.sleep(2)
keyboard.type(line)
您可能会认为函数需要在其签名中声明它使用哪些模块。不是这种情况。在文件顶部导入的模块将可以在该文件中的任何位置访问,而无需执行任何特殊操作。
关于python - pynput Keyboard.type() 干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55067722/