在 Python 3 中从 dbus 迁移到 GDbus

Posted

技术标签:

【中文标题】在 Python 3 中从 dbus 迁移到 GDbus【英文标题】:Migration from dbus to GDbus in Python 3 【发布时间】:2019-06-04 10:04:52 【问题描述】:

我尝试使用 GDbus 在 python 中编写服务文件。但是我找不到一个好的教程,只有当我想使用 C 时。因为我想在现有的 Python 代码中包含 GDbus,所以我不知道该怎么做。

我可以使用 dbus 编写服务文件,并且可以使用 GDbus 客户端访问该服务文件。

如果有人在 Python 中有一个很好的例子,我会非常高兴。 非常感谢, 多米尼克

【问题讨论】:

【参考方案1】:

虽然您可以在 Python 中使用 GDBus,但它可能不是最好的(大多数 Python 风格的)API,因为它是一个 C API,机械地自省并暴露给 Python。

您最好使用pydbus,这是一个为 Python 编写的现代 D-Bus 客户端库。它的文档中有大量 Python 示例。

如果你必须使用 GDBus,这里有一些 Python 示例:

https://wiki.gnome.org/HowDoI/GDBusPython https://github.com/hexchat/hexchat/blob/master/src/common/dbus/example.py

这里是 Python 的 GDBus API 参考(从 C API 机械生成):

https://lazka.github.io/pgi-docs/Gio-2.0/classes/DBusProxy.html

【讨论】:

感谢您的快速答复。我现在对 pydbus 进行了一些研究,它看起来确实比 GDBus 更容易使用。如果我遇到另一个对我来说“无法解决”的大问题,我希望我能再问你一次。

以上是关于在 Python 3 中从 dbus 迁移到 GDbus的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt DBus 调用中从 QDBusMessage 中提取返回的数据?

Azure Devops - 在 Nuget 包中从 .NET Core 3.1 迁移到 .NET 5 的兼容性问题

Python 3.6.4 dbus 导入错误

在 Netbeans 中从 ant 迁移到 maven

在服务器中从gcm迁移到fcm

在 Android 中从 File Api 迁移到 Storage Access Framework (SAF)