Verwenden Sie dbus, um einfach eine Nachricht in Python zu senden
Ich habe 2 Python-Programme. Ich möchte nur eine Nachricht (eine lange Zeichenfolge) von einer zur anderen senden, und ich möchte dbus verwenden. Gibt es einen einfachen Weg, dies zu tun?
Wenn die Nachricht beispielsweise sehr klein ist, habe ich das Problem beim Einfügen der Nachricht in den Pfad teilweise gelöst. Aber dann musste ich das externe Programm dbus-send verwenden:
Server (Python):
import dbus,gtk
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
def msg_handler(*args,**keywords):
try:
msg=str(keywords['path'][8:])
#...do smthg with msg
print msg
except:
pass
bus.add_signal_receiver(handler_function=msg_handler, dbus_interface='my.app', path_keyword='path')
gtk.main()
Client (Bash :():
dbus-send --session /my/app/this_is_the_message my.app.App
Gibt es eine Möglichkeit, den Client in Python zu schreiben? Oder gibt es einen besseren Weg, um das gleiche Ergebnis zu erzielen?