有关于如何在Python3中捕获udev
事件的示例吗?我根本无法在.237(或1.0?(中处理事件。也无法获得任何带有Introspection的GUdev的示例。
我不确定问题出在哪里。我找到了一个示例test.py
,但在那里,参数是在实例化Client
时给出的,就像在client = GUdev.Client(['block'])
中一样。实际版本(TypeError: GObject.__init__() takes exactly 0 arguments (1 given)
(中不接受这些参数。
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('GUdev', '1.0')
from gi.repository import Gtk, GUdev, GLib
def on_uevent(client, action, device):
print(action)
client = GUdev.Client()
client.connect('uevent', on_uevent)
GLib.MainLoop().run()
啊,好吧。似乎G(NU|nome|对象(-反思改变了它的工作方式。
...
client = GUdev.Client.new(['block'])
client.connect('uevent', on_uevent)
...
工作正常(注意添加了.new
(。我不知道为什么旧语法(见上文(没有抛出任何错误。。。
BTW、GUdev.Client.new(['block'])
接受列表中的多个值。