从dbus obj打印结果

2024-10-04 05:25:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印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: No such method 'getProperties'


Tags: 命令行orgdev命令networkmanagerdevicesbusdbus
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:58

这真让人恼火。界面有点疯狂。你知道吗

试试这个:

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')

现在为什么文档示例代码不能像文档一样工作?这是个很好的问题。。。不过,上面的代码可以正常工作。你知道吗

相关问题 更多 >