【问题标题】:Why does the way pynput.mouse.Controller is imported matter?为什么 pynput.mouse.Controller 的导入方式很重要?
【发布时间】:2021-08-09 20:36:57
【问题描述】:

我正在使用 pynput.mouse.Controller 来监听某些鼠标操作,并使用它来导航到某些目标。

当我按如下方式导入 Controller 时:from pynput.mouse import Controller 一切正常,程序运行顺畅。

但是,当我这样做而不是 import pynput.mouse.Controller 时,我收到一条错误消息,告诉 ModuleNotFoundError: No module named 'pynput.mouse.Controller'

除非我有一个根本的误解,否则这些行应该是一样的。一个产生错误而另一个没有产生错误的原因有什么?

【问题讨论】:

  • 能否请您添加一些代码,让我们重现您的错误?
  • Controller 不是模块,它是在模块中定义的对象。普通的import 只处理整个模块,您需要from 表单来挑选单个对象。

标签: python visual-studio-code pip pypi pynput


【解决方案1】:

import 导入模块或包(带有__init__.py 的目录),它不能从模块导入对象。这不起作用:

import pynput.mouse.Controller

这项工作:

import pynput.mouse
Controller = pynput.mouse.Controller

这也有效:

from pynput input mouse
Controller = mouse.Controller

还有这个:

from pynput.mouse import Controller

【讨论】:

    猜你喜欢
    • 2017-06-27
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2017-09-03
    • 1970-01-01
    • 2012-05-06
    相关资源
    最近更新 更多