从 dbus 对象打印结果

我想从 dbus 打印结果。


在命令行中我运行这个:


busctl introspect org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.DBus.Properties

我得到了一些结果。


我尝试使用 python 但没有运气打印结果。


import dbus

bus = 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”


临摹微笑
浏览 260回答 1
1回答

翻阅古今

这非常令人恼火。界面有点疯狂。试试这个:import dbusbus = dbus.SystemBus()eth0 = bus.get_object('org.freedesktop.NetworkManager',                      '/org/freedesktop/NetworkManager/Devices/eth0')# Here's where we change thingseth0_dev_iface = dbus.Interface(eth0,    dbus_interface='org.freedesktop.DBus.Properties')eth0_dev_iface.GetAll('org.freedesktop.NetworkManager.Devices')现在为什么文档示例代码没有按照文档工作?这是一个很好的问题......但是上面的代码工作正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python