首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python dbus问题

python dbus问题
EN

Stack Overflow用户
提问于 2010-07-21 02:35:14
回答 1查看 3.8K关注 0票数 2

我对dbus和python有点问题。从命令行运行python,告诉它import dbus,然后告诉它systembus = dbus.SystemBus(),不会导致任何错误,也不会运行一个由朋友编写的程序,该程序也使用完全相同的代码。然而,当运行我正在尝试编写的程序时,我得到了这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "dbtest.py", line 26, in <module>
    a = getDevs()
  File "dbtest.py", line 7, in getDevs
    bus = dbus.SystemBus()
AttributeError: 'module' object has no attribute 'SystemBus'

知道我做错了什么吗?我不认为我完全理解返回的错误。到目前为止,我拥有的代码是:

代码语言:javascript
复制
#!/usr/bin/env python
import dbus

def getDevs():
        bus = dbus.SystemBus()

if __name__ == "__main__":
        a = getDevs()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-21 02:46:52

一个明显的问题是,当您导入dbus时,它无法获得所有的方法。

在你的程序和你朋友的程序中,使用print dbus.__file__。这将显示它正在使用的.pyc。如果它们不同,则您没有导入正确的dbus模块。

我猜您实际上是在本地目录中导入一个名为dbus.py的随机文件。或者,如果您的脚本名是"dbus.py",那么您只是导入自身,幸运的是python不会递归导入。在这种情况下,最简单的解决方案是将有问题的文件重命名为其他名称。

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

https://stackoverflow.com/questions/3293172

复制
相关文章

相似问题

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