답변:
우리는 항상 다음 과 같이 알림 처리를 하위 프로세스로 호출 할 수 있습니다 .
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import subprocess
def sendmessage(message):
subprocess.Popen(['notify-send', message])
return
또는 python-notify를 설치 하고이를 통해 알림을 호출 할 수도 있습니다 .
import pynotify
def sendmessage(title, message):
pynotify.init("Test")
notice = pynotify.Notification(title, message)
notice.show()
return
우분투에는 python3-notify 패키지가 없습니다. Python 3을 사용하는 경우 python3-notify2 를 사용해야 합니다. 단지 대체 : notify2에 대한 API는 동일 pynotify
로 notify2
.
pynotify.init("Test")
와 pynotify.Notification(title, message).show()
. 그건 그렇고, 나는“파이썬을 배우기 힘들다”, 그래서 나는 단지 뭔가를 간과 할 수 있습니다.
notify-send
via를 통해 전화 를 걸 os.system
거나 subprocess
GTK3 기반 프로그래밍과보다 일관성있게 Notify gobject-introspection 클래스 를 사용할 수 있습니다 .
작은 예제가이를 실제로 보여줍니다.
from gi.repository import GObject
from gi.repository import Notify
class MyClass(GObject.Object):
def __init__(self):
super(MyClass, self).__init__()
# lets initialise with the application name
Notify.init("myapp_name")
def send_notification(self, title, text, file_path_to_icon=""):
n = Notify.Notification.new(title, text, file_path_to_icon)
n.show()
my = MyClass()
my.send_notification("this is a title", "this is some text")
Popen()
명령을 실행하기 위해 쉘을 호출하므로 명령이 실행됩니다. 쉘 프로세스도 나타납니다.
제목과 메시지 섹션이있는 알림을 푸시하는 가장 짧은 방법을 제안 할뿐만 아니라 Mehul Mohan 질문에 대답하려면 다음을 수행하십시오.
import os
os.system('notify-send "TITLE" "MESSAGE"')
이 기능을 따옴표로 묶는 것은 따옴표로 인해 약간 혼란 스러울 수 있습니다.
import os
def message(title, message):
os.system('notify-send "'+title+'" "'+message+'"')
'notify-send "{}" "{}"'.format(title, message)
문자열을 추가 하는 대신 사용 하는 것은 어떻습니까?
subprocess.Popen(['notify-send', message])
첫 번째 예제를 만들기 위해 사용해야 했습니다.