Hallo Leute ich hab mal ne frage,
nach dem ich z.B. ein einfaches HelloWorld Programm mit py2exe in eine executable konvertiert hab und diese dann ausführe, öffnet sich das CMD-Fenster und schließt sich sofort.
Meine Frage ist, welcher Befehl nochmal das schließen unterdrückt, ich find diesen Befehl auch nicht in der Wiki und anderen Büchern.
cmd fenster nach py2exe offen lassen
Bin mir nicht sicher aber bei mir funktioiert das mit
dann müsste es eigentlich warten bis eine Taste gedrückt wird.
Code: Alles auswählen
a = raw_input("Zum Beenden Taste drücken")
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich würde eher die Konsole aufmachen und dann das Programm ausführen. So bleibt die Konsole auch offen, falls es Tracebacks gibt.sorgenlos hat geschrieben:Meine Frage ist, welcher Befehl nochmal das schließen unterdrückt, ich find diesen Befehl auch nicht in der Wiki und anderen Büchern.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Zweite Möglichkeit wäre eine Batch Datei:

Code: Alles auswählen
python.exe MeinProgramm.py
pause

- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
Ich kann mich da nur dem Leonidas anschließen... aber ich arbeite eh nur in Konsolen, von daher weiß ich ihre Funktionalitaet auch zu schaetzen (ja natuerlich nicht unter Windoze)
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Die `raw_input()`-Lösung funktioniert aber auf allen Systemen. ``pause`` gibt's nicht überall.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Und es kracht unter allen nicht-Windows Systemen. DIe Lösung ist sogar noch schlechter als die vorherigen.cime hat geschrieben:ergo koenntest du os.system("pause") aufrufen und es muesste auch klappen
Nicht wundern, dass ich alle Lösungen so niedermache, aber wenn man überlegt was das alles für Hässliche Hacks sind im Vergleich zum offenhalten der Konsole, dann ist das nicht sonderlich verwunderlich.
Stellen wir mal ein Ranking auf, geordnet nach Sauberkeit der Lösung:
- Konsole offenhalten
- lange, lange nichts
- Batch-Datei
- wieder längere Zeit nichts
- ``raw_input()``
- ``os.system('pause')``
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 16
- Registriert: Samstag 15. Oktober 2011, 09:22
Bitte schreibt jetzt nicht "Schau aufs Datum" oder so. Ich weiss selber dass das Thema von 2007 ist.
Mir ist das Thema gerade aufgefallen und ich hätte eine eigene Lösung
Für alle dies interessiert:
Mir ist das Thema gerade aufgefallen und ich hätte eine eigene Lösung
Für alle dies interessiert:
Code: Alles auswählen
while True:
pass
1. Schau aufs Datum. Das grenzt ja schon an LeichenfledereiBlackPython hat geschrieben: Für alle dies interessiert:Code: Alles auswählen
while True: pass

2. Ist das die aller aller aller aller schlimmste Lösung. Da rennt das Programm in einer Endlossschleife und verbrennt Prozessorzeit um... nichts zu tun. Außerdem ist es dann eher schwierig das Programm "normal" zu beenden, sondern mann muss es dann per KeyboardInterrupt in den hoffentlich erfolgenden Tod schicken.
Also vergiss das, das hat mit der "Lösung" des "Problems" in diesem Thread nichts zu tun.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Und wenn das Programm crasht, bevor es zu der Schleife kommt, dann geht das Fenster zu ohne dass du den Fehler gesehen hast. Wo ist das bitte eine Lösung, die scheitert wenn sie benötigt wird?!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Für Schwierigkeiten unter Windows:
- Konsolenfenster mit der Maus linke Taste gedrückt in der Kopfzeile festhalten, solange das Programm läuft und bei Programmabbruch zeitgleich ALT+F4 drücken, um das normale Schliessen des Fensters zu antagonisieren (analog zu minus * minus ...), funktioniert wirklich gut, braucht allerdings Erfahrung und Routine seitens des Benutzers, um den korrekten Zeitpunkt zu treffen. Ist aber nix, was nicht mit ein bisschen Übung zu Beheben wäre
- Konsolenfenster mit der Maus linke Taste gedrückt in der Kopfzeile festhalten, solange das Programm läuft und bei Programmabbruch zeitgleich ALT+F4 drücken, um das normale Schliessen des Fensters zu antagonisieren (analog zu minus * minus ...), funktioniert wirklich gut, braucht allerdings Erfahrung und Routine seitens des Benutzers, um den korrekten Zeitpunkt zu treffen. Ist aber nix, was nicht mit ein bisschen Übung zu Beheben wäre

Hey, ich habe das probiert aber bei mir geht es leider nicht. Also einfach am Ende des Codes noch das in eine eigene Zeile eingeben oder?Bastl hat geschrieben:Bin mir nicht sicher aber bei mir funktioiert das mitdann müsste es eigentlich warten bis eine Taste gedrückt wird.Code: Alles auswählen
a = raw_input("Zum Beenden Taste drücken")
a = raw_input("Zum Beenden Taste drücken")
Oder muss man in die ("") etwas anderes reinschreiben?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die "Lösung" mit ``raw_input`` ist eine eher schlechte Lösung, oder eher: keine sinnvolle Lösung. Einfach das Py2exe-Programm aus der Kommandozeile starten ist besser als irgendwas mit ``raw_input`` zusammenzupfuschen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice