首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pynput keyboard.type()干扰

pynput keyboard.type()干扰
EN

Stack Overflow用户
提问于 2019-03-09 00:59:16
回答 1查看 262关注 0票数 1

所以我在我的代码中遇到了一些问题,它将keyboard.type()识别为类型而不是字符串,我有所有必要的导入。我该如何解决这个问题呢?

代码语言:javascript
复制
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)

错误:

代码语言:javascript
复制
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/)已导入

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-09 01:15:55

我假设你有一条import keyboard线路,但你没有给我们看。(下次,请提供完整的MCVE)。

问题就在下面这一行:

代码语言:javascript
复制
def exploit(keyboard):

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

代码语言:javascript
复制
def exploit(line):
    time.sleep(2)
    keyboard.type(line)

您可能会有这样的印象:函数需要声明它在签名中使用了哪些模块。事实并非如此。在文件顶部导入的模块将可以在该文件中的任何位置访问,而无需执行任何特殊操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55067722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档