cmd fenster nach py2exe offen lassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

cmd fenster nach py2exe offen lassen

Beitragvon sorgenlos » Donnerstag 15. Februar 2007, 00:55

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.
Bastl
User
Beiträge: 9
Registriert: Montag 13. November 2006, 11:52

Beitragvon Bastl » Donnerstag 15. Februar 2007, 07:33

Bin mir nicht sicher aber bei mir funktioiert das mit

Code: Alles auswählen

a = raw_input("Zum Beenden Taste drücken")

dann müsste es eigentlich warten bis eine Taste gedrückt wird.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Donnerstag 15. Februar 2007, 10:25

Die Zuweisung "a =" kannst du auch weglassen ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: cmd fenster nach py2exe offen lassen

Beitragvon Leonidas » Donnerstag 15. Februar 2007, 15:00

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.

Ich würde eher die Konsole aufmachen und dann das Programm ausführen. So bleibt die Konsole auch offen, falls es Tracebacks gibt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Donnerstag 15. Februar 2007, 15:02

Zweite Möglichkeit wäre eine Batch Datei:
[code=]python.exe MeinProgramm.py
pause[/code]
;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 15. Februar 2007, 15:04

Sowohl ``raw_input()`` als auch die Nutzung einer Batch-Datei empfinde ich als eher unschöne Hacks.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Donnerstag 15. Februar 2007, 16:38

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)
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Beitragvon sorgenlos » Donnerstag 15. Februar 2007, 21:29

Dankeschön,

raw_input("Zum Beenden Taste drücken etc")

hat tadellos funktioniert
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

Beitragvon cime » Donnerstag 15. Februar 2007, 21:48

im os modul gibt es einen funktion system ... damit kanst du befehle ausfuehren, wie du sie normalerweise in eine konsole schreibst ... ergo koenntest du os.system("pause") aufrufen und es muesste auch klappen
BlackJack

Beitragvon BlackJack » Donnerstag 15. Februar 2007, 22:07

Die `raw_input()`-Lösung funktioniert aber auf allen Systemen. ``pause`` gibt's nicht überall.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 15. Februar 2007, 22:09

cime hat geschrieben:ergo koenntest du os.system("pause") aufrufen und es muesste auch klappen

Und es kracht unter allen nicht-Windows Systemen. DIe Lösung ist sogar noch schlechter als die vorherigen.

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:
  1. Konsole offenhalten
  2. lange, lange nichts
  3. Batch-Datei
  4. wieder längere Zeit nichts
  5. ``raw_input()``
  6. ``os.system('pause')``
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackPython
User
Beiträge: 16
Registriert: Samstag 15. Oktober 2011, 09:22

Re: cmd fenster nach py2exe offen lassen

Beitragvon BlackPython » Freitag 13. Juli 2012, 08:57

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:

Code: Alles auswählen

while True:
    pass
Benutzeravatar
sparrow
User
Beiträge: 825
Registriert: Freitag 17. April 2009, 10:28

Re: cmd fenster nach py2exe offen lassen

Beitragvon sparrow » Freitag 13. Juli 2012, 09:11

BlackPython hat geschrieben:Für alle dies interessiert:

Code: Alles auswählen

while True:
    pass


1. Schau aufs Datum. Das grenzt ja schon an Leichenflederei ;)

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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: cmd fenster nach py2exe offen lassen

Beitragvon Leonidas » Freitag 13. Juli 2012, 20:03

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 Modvoice
jerch
User
Beiträge: 1622
Registriert: Mittwoch 4. März 2009, 14:19

Re: cmd fenster nach py2exe offen lassen

Beitragvon jerch » Samstag 14. Juli 2012, 00:16

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 ;)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]