Ich habe versucht, nur dann ein Geräusch zu machen, wenn in Python von Windows eine Ausnahme ausgelöst wurde.
test_alert.py
import winsound
def hoge():
#Es tritt eine Ausnahme auf
if __name__ == '__main__':
try:
hoge()
except:
winsound.Beep(400, 200)
Als Mechanismus ertönt ab 35.4. Winsound - Audio-Wiedergabeschnittstelle für Windows bei einer Ausnahme ein Ton von 200 ms bei 400 Hz. Nur. (Praktisch, da ich keine zusätzliche Pip-Installation benötigte)
In Windows kann eine Python-Skriptdatei in einer einzigen Aufnahme wie .bat über eine GUI wie Explorer gestartet werden. Zu diesem Zeitpunkt wird das Shell-Fenster nur zum Zeitpunkt der Ausführung geöffnet, die Standardausgabe wird angezeigt und es wird geschlossen, wenn die Verarbeitung abgeschlossen ist.
Das Problem ist, dass selbst wenn das Skript abnormal beendet wird, das Shell-Fenster geschlossen wird und ich die Standardfehlerausgabe nicht sehen kann. (Ein Fehler wird angezeigt, aber das Shell-Fenster wird sofort geschlossen.) Dann weiß ich nicht, ob es ein normales oder ein abnormales Ende ist.
Ich bin auf dieses Problem gestoßen, weil ich das Python-Skript direkt von Tablacus Exporer aus wie folgt aufgerufen habe: Übergeben Sie das ausgewählte Element in Tablacus Explorer von JScript an Python und benennen Sie es auf einmal um - Qiita
An erster Stelle,
Ich bin jedoch froh, dass es nach der Untersuchung dieses und jenes am einfachsten zu implementieren war.
Also bin ich zu diesem Mechanismus gekommen.
Wenn dies ein Geräusch macht, weiß ich, dass etwas nicht stimmt, also dachte ich, ich sollte es als IDE öffnen und es nach Belieben zurücksetzen.
$ python hoge.py || rundll32 user32.dll,MessageBeep
Wie bei Linux können Fenster mit dem Ausführungsergebnis weitergeleitet werden.
Referenz: Piepton in Python (nur Windows) - Hinweise zu numerischen Berechnungen (vorläufig)
Oder ist es möglich, das Shell-Fenster mit / k zu starten, das Ausführungsergebnis mit .bat und branch zu empfangen?
test.bat
call test.bat
if %errorlevel% == 1 (
echo test.Als Ergebnis der Ausführung von bat wurde 1 als Rückgabewert zurückgegeben
)
Referenz: Cmd - DOS-Befehlsliste - Programmierfeld Referenz: [bat] Wie schreibe ich eine Windows-Batchdatei? (* .Bat) Zusammenfassung für mich - Qiita
das ist alles.
Recommended Posts