我想從 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
提交
取消