Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在dbus中获取接口的所有实现者?_Python_Dbus - Fatal编程技术网

Python 在dbus中获取接口的所有实现者?

Python 在dbus中获取接口的所有实现者?,python,dbus,Python,Dbus,我正在写一个脚本来获取当前正在播放的媒体播放器的播放轨迹。我感兴趣的两个播放器都实现了org.mpris.MediaPlayer2.Player界面: 我希望能够得到这个界面的所有实现者的列表,这样我就可以根据播放的内容,在Banshee或Nuvola播放器中显示当前播放歌曲的唱片集信息 以下是我当前的代码: bus = dbus.SessionBus() player = bus.get_object('org.bansheeproject.Banshee', '/org/mpris/Me

我正在写一个脚本来获取当前正在播放的媒体播放器的播放轨迹。我感兴趣的两个播放器都实现了
org.mpris.MediaPlayer2.Player
界面:

我希望能够得到这个界面的所有实现者的列表,这样我就可以根据播放的内容,在Banshee或Nuvola播放器中显示当前播放歌曲的唱片集信息

以下是我当前的代码:

bus = dbus.SessionBus()

player = bus.get_object('org.bansheeproject.Banshee', '/org/mpris/MediaPlayer2')
properties = dbus.Interface(player, 'org.freedesktop.DBus.Properties')

metadata = properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')

我如何才能将其转换为能够将所有实现
org.mpris.MediaPlayer2.Player的内容

只需过滤注册的名称:

filter(lambda x: x[:22] =='org.mpris.MediaPlayer2', bus.list_names())

也许你可以详细说明一下?