मैंने एक .txt फ़ाइल में यादृच्छिक पाठ प्राप्त करने के लिए एक अजगर कोड लिखा था। अब मैं इस यादृच्छिक पाठ को 'सूचना-भेजें' कमांड के माध्यम से अधिसूचना क्षेत्र में भेजना चाहता हूं। हम यह कैसे करे?
मैंने एक .txt फ़ाइल में यादृच्छिक पाठ प्राप्त करने के लिए एक अजगर कोड लिखा था। अब मैं इस यादृच्छिक पाठ को 'सूचना-भेजें' कमांड के माध्यम से अधिसूचना क्षेत्र में भेजना चाहता हूं। हम यह कैसे करे?
जवाबों:
हम हमेशा सूचित कर सकते हैं - एक उपप्रकार के रूप में भेजें , जैसे कि:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import subprocess
def sendmessage(message):
subprocess.Popen(['notify-send', message])
return
वैकल्पिक रूप से हम भी अजगर-सूचना स्थापित कर सकते हैं और उसके माध्यम से अधिसूचना को कॉल कर सकते हैं:
import pynotify
def sendmessage(title, message):
pynotify.init("Test")
notice = pynotify.Notification(title, message)
notice.show()
return
ध्यान दें कि उबंटू में कोई python3- नोटिफ़िकेशन पैकेज उपलब्ध नहीं है। यदि आप पायथन 3 का उपयोग कर रहे हैं, तो आपको python3-Inform2 का उपयोग करना होगा । सूचना 2 के लिए एपीआई एक ही है: बस के pynotify
साथ बदलें notify2
।
pynotify.init("Test")
और pynotify.Notification(title, message).show()
। वैसे मैं
जबकि आप कॉल कर सकते हैं notify-send
के माध्यम से os.system
या subprocess
यह यकीनन अधिक GTK3 आधारित प्रोग्रामिंग सूचित करें का उपयोग करने के साथ संगत है gobject-आत्मनिरीक्षण वर्ग।
एक छोटा सा उदाहरण यह कार्रवाई में दिखाएगा:
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()
कमांड चलाने के लिए शेल को कॉल करेगा, इसलिए वहां शेल प्रक्रिया पॉपिंग भी।
मेहुल मोहन सवाल का जवाब देने के साथ-साथ शीर्षक और संदेश अनुभागों के साथ एक अधिसूचना को धकेलने का सबसे छोटा तरीका प्रस्तावित करते हैं:
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)
तार जोड़ने के बजाय उपयोग करने के बारे में क्या ?
+2018 में इसे देखने वाले किसी भी व्यक्ति के लिए, मैं Inform2 पैकेज की सिफारिश कर सकता हूं ।
यह नोटिफ़िकेशन-पाइथन के लिए एक शुद्ध-पायथन प्रतिस्थापन है, जो सीधे सूचनाओं के साथ संवाद करने के लिए अजगर-डब का उपयोग करता है। यह पायथन 2 और 3 के साथ संगत है, और इसके कॉलबैक Gtk 3 या Qt 4 अनुप्रयोगों के साथ काम कर सकते हैं।
subprocess.Popen(['notify-send', message])
पहला उदाहरण काम करने के लिए उपयोग करना था ।