Anzeigen von Mac-Desktop-Benachrichtigungen in Python

Es gab eine Situation, in der ich Mac-Benachrichtigungen von Python-Skripten erhalten wollte

Ich habe es im Fluss erstellt.

Desktop-Benachrichtigungen mit Apple Script anzeigen

In AppleScript

notification.scpt


display notification "Hallo Welt"

Sie können Desktop-Benachrichtigungen mit anzeigen. In der folgenden Abbildung wird es von ScriptEditor.app ausgeführt.

notification_applescript.png

Führen Sie Apple Script über einen Befehl aus

Verwenden Sie den Befehl osascript.

Bei terminal.app

$ osascript -e 'display notification "Hallo Welt"'

So erhalten Sie das gleiche Ergebnis wie zuvor.

Rufen Sie Befehle in Python-Skripten auf

Sie kann ausgeführt werden, indem der obige Befehl als Zeichenfolge an das Argument der "system" -Methode des "os" -Moduls übergeben wird.

notification.py


import os

os.system("osascript -e 'display notification \"Hallo Welt\"'")

Ich möchte den obigen Prozess nur ausführen, wenn die Ausführungsumgebung Mac ist

Wenn das Python-Skript möglicherweise in einer anderen Umgebung als Mac ausgeführt wird, muss in einigen Umgebungen möglicherweise die Anzeige von Desktop-Benachrichtigungen verhindert werden.

In der Standard-Python-Bibliothek befindet sich ein Modul namens Plattform, daher habe ich dieses verwendet.

Wenn Sie "platform.system ()" ausführen, wird der Name des Systems als Zeichenfolge wie "Linux", "Darwin", "Java", "Windows" zurückgegeben. Wenn es unbekannt ist, wird ein leeres Zeichen zurückgegeben.

Zusammenfassung

Das Obige ist wie folgt zusammengefasst.

notification_matome.py


import os
from platform import system

pf = system()
if pf == "Darwin":
    os.system("osascript -e 'display notification \"Hallo Welt\"'")

Zukunftsaussichten

Die Benachrichtigung kommt vom "Skript-Editor", daher möchte ich sie nach Möglichkeit ändern.

Umgebung

Reference

[Wie man das Benachrichtigungscenter von macOS unter Python-I betreibt, leidet unter Ausgabe](http://atc.hateblo.jp/entry/2018/06/25/python%E3%81%8B%E3%82%89macOS % E3% 81% AE% E9% 80% 9A% E7% 9F% A5% E3% 82% BB% E3% 83% B3% E3% 82% BF% E3% 83% BC% E3% 82% 92% E6 % 93% 8D% E3% 82% 8B% E6% 96% B9% E6% B3% 95)

Plattform --- Siehe die spezifischen Informationen der laufenden Plattform - Python 3.8.5-Dokumentation

Recommended Posts

Anzeigen von Mac-Desktop-Benachrichtigungen in Python
Implementierung von Desktop-Benachrichtigungen mit Python
Rufen Sie C / C ++ von Python auf dem Mac auf
Aktualisieren Sie Mac Python von 2 auf 3
SQL zu SQL
Python auf Mac
MeCab von Python
Verwenden Sie Tor, um eine Verbindung von urllib2 [Python] [Mac] herzustellen.
Verwenden Sie thingspeak aus Python
Berühren Sie MySQL in Python 3
Bedienen Sie Filemaker von Python aus
Verwenden Sie fließend Python
Greifen Sie über Python auf Bitcoind zu
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Python aus oder importieren
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Verwenden Sie MySQL aus Python
Einstellungen zum Generieren animierter GIFs aus Python auf dem Mac
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Führen Sie Python aus Excel aus
Installieren Sie Python von der Quelle
Führen Sie Befehle aus Python aus
Bedienen Sie Neutronen von Python!
Lesen Sie den QR-Code aus der Bilddatei mit Python (Mac).
Verwenden Sie MySQL aus Python
Betreiben Sie LXC von Python aus
Manipuliere Riak aus Python
Erzwinge Python aus Fortran
Verwenden Sie BigQuery aus Python.
Installieren Sie Python 3.4 auf einem Mac
Führen Sie den Befehl von Python aus
[Python] Von Stdin lesen
Python + Selen + Safari - Führen Sie die iPhone Safari vom Mac mit dem Webdriver aus
Verwenden Sie mecab-ipadic-neologd von Python
Mit Python abflachen
Rufen Sie CPLEX von Python aus auf (DO cplex)
Deep Python hat von DEAP gelernt
Post von Python nach Slack
Grammatikfunktionen aus Python3.6 hinzugefügt
Stellen Sie MeCab in Python 3 zur Verfügung
Installieren Sie pygame auf python3.4 auf dem Mac
Informationen von tweet_id (Python)
Python3 + Django ~ Mac ~ mit Apache
Für Mac einrichten (Python)
OCR aus PDF in Python
Führen Sie das Illustrator-Skript von Python aus
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Studie aus Python Hour4: Objektorientiert ②
Fragen Sie Athena von Lambda Python ab
Greifen Sie über Python auf Oracle DB zu
[Python] Fügen Sie ":" in die MAC-Adresse ein
Studie aus Python Hour3: Funktionen
Python-Installation (Mac Edition) (alt)
Aufbau einer Python-Umgebung für Mac
Starten / Stoppen von GCE über Python
Umgang mit Python auf Mac
Aktualisieren Sie die Python, die Sie auf Ihrem Mac hatten, auf 3.7-> 3.8
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]