我对dbus和python有问题。从命令行运行python,告诉它import dbus
,然后systembus = dbus.SystemBus()
不会导致任何错误,也不会运行一个朋友编写的也使用完全相同代码的程序。但是,当运行我试图编写的程序时,会出现以下错误:
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'
你知道我做错了什么吗?我想我不能完全理解返回的错误。到目前为止,我掌握的代码是:
^{pr2}$
显而易见的问题是,当您导入
dbus
时,它并没有获得所有的方法。在在你的程序和你朋友的程序中,都要做
print dbus.__file__
。这将显示它正在使用什么.pyc。如果它们不同,则说明没有导入正确的dbus模块。在我猜您实际上是在本地目录中导入一个名为
dbus.py
的随机文件。或者,如果你的脚本名是“数据库.py“,您只是导入自身,幸运的是python没有递归地导入。在这种情况下,最简单的解决方案是将有问题的文件重命名为其他文件。在相关问题 更多 >
编程相关推荐