pynput keyboard.type() 干扰

pynput keyboard.type() interference

所以我的代码在识别时遇到了一些问题 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/) 已导入

我假设您有一条 import keyboard 行没有显示给我们。 (下次请提供完整的MCVE)

问题出在这一行:

def exploit(keyboard):

无法在此函数中访问 keyboard 模块,因为它的名称已被您在此处定义的 keyboard 参数覆盖。例如,如果您调用 exploit("Hello"),则此代码将尝试执行 "Hello".type(line)。但是该字符串没有名为 type 的方法。您可能打算改用名称 line

def exploit(line):
    time.sleep(2)
    keyboard.type(line)

您的印象可能是函数需要在其签名中声明它使用了哪些模块。不是这种情况。在文件顶部导入的模块将可以在该文件的任何位置访问,而无需执行任何特殊操作。