Gibt es eine Möglichkeit, ein Python-Skript in Windows XP auszuführen, ohne dass momentan eine Befehlsshell angezeigt wird? Ich muss oft WordPerfect (für die Arbeit) mit Python automatisieren, und selbst wenn mein Skript keine Ausgabe hat, erscheint eine leere Shell noch eine Sekunde, bevor ich sie verlasse. Gibt es einen Weg dies zu verhindern? Irgendeine Art von Ausgabeumleitung vielleicht?Python-Skript ausführen, ohne dass die Windows-Konsole angezeigt wird
Antwort
pythonw.exe wird das Skript ohne Eingabeaufforderung ausführen. Das Problem ist, dass der Python-Interpreter Python.exe mit dem Konsolen-Subsystem verbunden ist, um Konsolenausgaben zu erzeugen (da dies 90% der Fälle sind) - pythonw.exe ist stattdessen mit dem GUI-Subsystem verbunden, und Windows wird keine Konsole erstellen Ausgabefenster für es, es sei denn, es fragt nach einem.
This article diskutiert GUI-Programmierung mit Python und spielt auch auf pythonw.exe. Es wird auch hilfreich darauf hingewiesen, dass, wenn Ihre Python-Dateien mit .pyw
anstelle von .py
enden, das Standard-Windows-Installationsprogramm Verknüpfungen richtig einrichten und Ihr Python in pythonw.exe ausführen wird.
In Ihrem Fall ist es nicht wie ein Problem klingen, aber das Vertrauen auf pythonw.exe macht Ihre Anwendung Windows-spezifische - andere Lösungen gibt es diese auf erreichen, sagen wir, Mac OS X
Wenn Sie Benennen Sie Ihre Dateien mit der Erweiterung ".pyw", dann werden sie von Windows mit dem Interpreter pythonw.exe ausgeführt. Dadurch wird die DOS-Konsole zum Ausführen des Skripts nicht geöffnet.
- 1. verhindern, dass die Seite angezeigt wird
- 2. So verhindern Sie, dass die Android-Navigationsleiste angezeigt wird, nachdem die Softtastatur angezeigt wird
- 3. Verhindern, dass "Notationspalette" angezeigt wird
- 4. Die führende Null wird ohne Anführungszeichen angezeigt.
- 5. Verhindert, dass die Standardtastatur angezeigt wird, wenn UITextField gedrückt wird
- 6. Wie wird ein Python-Skript ausgeführt, ohne dass die Windows-Konsole angezeigt wird?
- 7. Wie wird angezeigt, dass beim Klicken auf die Schaltfläche eines anderen Dialogfelds ein Dialogfeld angezeigt wird?
- 8. Wie wird die gesamte Länge ohne die letzte angezeigt?
- 9. Warum schließt die App plötzlich, ohne dass ein Fehler angezeigt wird?
- 10. rails: verhindern, dass die Flash-Nachricht zweimal angezeigt wird
- 11. Welcher ReSharper-Befehl bewirkt, dass die Kontextaktionsliste angezeigt wird?
- 12. Verhindern, dass Inhalte verschmälern, wenn die Bildlaufleiste angezeigt wird
- 13. Verhindern, dass das Site-Verzeichnis angezeigt wird
- 14. Verhindern, dass Hintergrundprozess im Dock angezeigt wird
- 15. Verhindern, dass Silverlight ListBox vertikale Bildlaufleiste angezeigt wird
- 16. Wie wird ein MKMapView ohne Straßennamen angezeigt?
- 17. Die Eingabeaufforderung wird nicht angezeigt
- 18. Warten auf WaitHandle, ohne dass die Nachricht gepumpt wird?
- 19. uitextfield wird angezeigt, aber die Schaltfläche wird nicht angezeigt
- 20. Android - Zusätzliche Informationen an einen ListView übergeben, ohne dass er angezeigt wird, für einen RSS-Reader?
- 21. Einen ContextMenuStrip anzeigen, ohne dass es in der Taskleiste angezeigt wird
- 22. tkinter - Funktion ausführen, nachdem der Rahmen angezeigt wird
- 23. Wie wird die Produktmenge angezeigt?
- 24. Chrome: Es wird ein neues Fenster oben angezeigt, ohne dass es den Fokus erhält.
- 25. Wie kann ein Prozess abgebrochen werden, ohne dass eine Ausnahme "Prozess wurde beendet" angezeigt wird?
- 26. Android 6 Marshmallow: Anfragen für bestimmte Berechtigungen werden sofort abgelehnt, ohne dass ui angezeigt wird
- 27. Dynamisch ein HTML5-Videoelement erstellen, ohne dass es auf der Seite angezeigt wird
- 28. Beim Ausführen einer gespeicherten Prozedur wird ein Fehler angezeigt, der besagt, dass ein von mir bereitgestellter Parameter erwartet wird.
- 29. Warum wird die Zeichenfolge "PRINTS" zweimal in der Konsole angezeigt und erwartet, dass sie einmal angezeigt wird. Rekursionstest
- 30. Verhindern, dass eine neue Zeile in einer DataGridView angezeigt wird, bevor die aktuelle Zeile ausgefüllt wird?
Gibt es eine Möglichkeit, im Python-Skript Wetter zu spezifizieren, um 'python.exe' oder' pythonw.exe' zu verwenden? Zum Beispiel: def prog_a(): run_as_pythonw() blah blah vs. def prog_b(): run_as_python() blah blah. Ein Switch-to-Silent-Modus, wenn Sie so wollen. – p014k
Es funktioniert nicht wie Sie erläutert, um pythonw.exe für .pyw zu verwenden. Können Sie bitte die Antwort aktualisieren? sein 2016 – YumYumYum