为了账号安全,请及时绑定邮箱和手机立即绑定

从 dbus 对象打印结果

从 dbus 对象打印结果

临摹微笑 2022-01-05 19:36:33
我想从 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')

现在为什么文档示例代码没有按照文档工作?这是一个很好的问题......但是上面的代码工作正常。


查看完整回答
反对 回复 2022-01-05
  • 1 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信