python - pynput Keyboard.type() 干扰

标签 python file pynput

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

相关文章:

linux - SGID 子文件夹写入权限

python-asyncio - 如何在Python中将基于回调的库与asyncio库结合起来?

python - 将 Quartz 2d python 演示移植到纯 Core Graphics C

python - K 表示在大小不均匀的簇上进行聚类

file - Makefile 排除文件

如果时区更改,Java File.lastModified 返回值会更改吗?

python - 尝试创建一个鼠标记录器,但它一直在无限循环?

python - 如何在 VS 代码的 node.js 应用程序中使用 python 包时导入它

python - 从 View 中向客户端发送有关长时间运行任务进度的更新

python - 字节对象中的双引号与 flask 响应数据中的双引号