如何用python表示dbus类型b(oss)?

我正在使用python开发Mpris V2.1接口。如何用python表示dbus类型b(oss)?

的接口的文档中描述: http://www.mpris.org/2.1/spec/Playlists.html#Property:ActivePlaylist

签名示出它的复杂类型包含布尔值,对象和字符串。我只是想知道如何在Python中表示类型。我有一个提供者列表或元组包含每个元素?我已经测试过,但似乎不起作用。

回答:

根据D-Bus规范,(b(oss))是两个元素的结构,第一个是布尔值,第二个是三个元素的结构:一个对象路径和两个字符串。在此蟒映射到类似:

dbus.Struct((dbus.Boolean(a_boolean), 

dbus.Struct((dbus.ObjectPath(s1),

dbus.String(s2),

dbus.String(s3)))),

signature="(b(oss))")

,但它可以被用来作为如果它只是像一条巨蟒元组:

(a_boolean, (s1, s2, s3)) 

你写一个客户端或服务器?在后一种情况下,您还应该检查this question,它提供了使用python dbus模块导出属性的详细信息。

以上是 如何用python表示dbus类型b(oss)? 的全部内容, 来源链接: utcz.com/qa/266866.html

回到顶部