.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
মনে রাখবেন যে উবুন্টুতে পাইথন 3-নোটিফাই প্যাকেজ নেই। আপনি যদি পাইথন 3 ব্যবহার করেন তবে আপনাকে পাইথন 3 -notify2 ব্যবহার করতে হবে । শুধু প্রতিস্থাপন করুন: notify2 জন্য API একই 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 এ দেখার জন্য, আমি notif2 প্যাকেজটি সুপারিশ করতে পারি ।
এটি নোটিফাই-পাইথনের জন্য খাঁটি পাইথন প্রতিস্থাপন, সরাসরি বিজ্ঞপ্তি সার্ভারের সাথে যোগাযোগ করার জন্য পাইথন-ডিবিস ব্যবহার করে। এটি পাইথন 2 এবং 3 এর সাথে সামঞ্জস্যপূর্ণ এবং এর কলব্যাকগুলি Gtk 3 বা Qt 4 অ্যাপ্লিকেশনগুলির সাথে কাজ করতে পারে।
subprocess.Popen(['notify-send', message])
প্রথম উদাহরণটি কাজ করতে আমাকে ব্যবহার করতে হয়েছিল।