我想从 dbus 打印结果。在命令行中我运行这个:busctl introspect org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.DBus.Properties我得到了一些结果。我尝试使用 python 但没有运气打印结果。import dbusbus = dbus.SystemBus()eth0 = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager/Devices/eth0')eth0_dev_iface = dbus.Interface(eth0, dbus_interface='org.freedesktop.NetworkManager.Devices')props = eth0_dev_iface.getProperties()但我收到此错误:dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: 没有这样的方法“getProperties”
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
这非常令人恼火。界面有点疯狂。
试试这个:
import dbus
bus = dbus.SystemBus()
eth0 = bus.get_object('org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager/Devices/eth0')
# Here's where we change things
eth0_dev_iface = dbus.Interface(eth0,
dbus_interface='org.freedesktop.DBus.Properties')
eth0_dev_iface.GetAll('org.freedesktop.NetworkManager.Devices')
现在为什么文档示例代码没有按照文档工作?这是一个很好的问题......但是上面的代码工作正常。
添加回答
举报
0/150
提交
取消