python3 skript unter Ubuntu mit Terminal im Dateimanager öffnen, scheitert

zackyboy

Cadet 3rd Year
Registriert
Nov. 2011
Beiträge
57
Hallo Cb'ler,
und zwar habe ich mir mit nano ein python 3 skript geschrieben. Wenn ich dieses mit "python3 name.py" im terminal öffne funktioniert alles super. Ich habe die Datei auch schon ausführbar gemacht mit chmod +x /...
Jetzt, wenn ich allerdings in den Dateimanager gehe, um durch Doppelklich mein Skript zu öffnen kann ich zwischen "mit terminal öffnen" "anzeigen" oder "ausführen" wählen, bei ausführen passiert nix, bei anzeigen zeigts mir den Code mit irgendeinem anderen Editor, aber bei "mit Terminal öffnen" öffnet sich das Fenster ganz kurz und schließt sich wieder. Das ist sehr komisch, weil ich die shebang "#!usr/bin/env python3" benutzt hab. Aber wie gesagt, wenn ich im Terminal mit python3 name.py mein skript öffne funktionierts perfekt.
Ich hätte gedacht, dass es nicht funktioniert, weil ich python2 als standard habe, aber ich habe ja die shebang mit ...python3
auch wenn ich mit der "idle" python skripte code, kann ich die, selbst wenn ich sie ausführbar mach nicht, im dateimanager mit doppelklick und "im terminal öffnen" ausführen. Warum?

danke im vorraus
Ergänzung ()

ich nutze ubuntu 12.04
Ergänzung ()

hat denn keiner eine Idee?
 
Dein Programm wird durchaus ausgeführt. Nur bekommst du davon nichts mit, wenn du keine Fenster o.ä. aufmachst. Wenn du "mit Terminal öffnen" wählst, siehst du ja, dass das Skript im Terminal aufgeht und das Termin wieder zugeht, sobald das Programm fertig ist.

Probiers aus:
Code:
#!/usr/bin/env python
print("Hello World")
input("Press any key to exit")
 
Zuletzt bearbeitet:
Ein neu geöffnetes Konsolenfenster schliesst sich, sobald das programm, welches es benötigt, beendet wurde. Wenn also dein Programm beispielsweise Meldungen ausgibt oder irgendetwas berechnet, ohne dass es dabei auf eine Eingabe des Benutzers warten müsste, ist das innerhalb von Millisekunden erledigt. Dein Programm ist fertig, das Konsolenfenster schliesst sich.
Startest du das Skript aus einer bereits "existierenden" Shell, bleibt diese auch nach Beenden des Skripts erhalten; du kannst die Ausgabe des Programms einsehen.
Um es kurz zu fassen: Baue eine Benutzerabfrage ein, wie Troublegum es vorgeschlagen hat:
Code:
#Dein skript....

input("press any key to exit: ")

#Ende

Dann bleibt die Ausgabe bestehen wie du sie benötigst!

mfg, MeandXP.
 
ok, erstmal danke für die antworten.
Ich habe das aber leider schon in meinen Skripten und es schließt sich trotzdem!

mein skript ist das hier:

#!usr/bin/env python3

x = 1
s = 0
print ("Enter a number")
print ("Enter 0 to quit")
while x != 0:
x = float(input("Number: "))
s = s+x
print ("Sum:", s)

print ( "Total:", s)



das ist mein skript, und wenn ich das im terminal ausführe schließt sich das fenster sofort wieder , wenn ich es im terminal direkt öffne passt alles, warum???
ich habe auch schnell euer beispiel getippt mit nano und dann mit chmod ... ausführbar gemacht aber funktioniert bei doppelklick mit terminal öffnen trotzdem nicht sondern schließt sich sofort. Was aber komisch ist, ist, dass ich ein anderes skript geschrieben hatte, und das funktioniert beim Doppelklick im dateimanager...

das skript:

#!/usr/bin/env python3

guess = float(input("Number: "))
if guess == 10:
print ("right")
elif guess == 5:
print ("offi")
else:
print ("fail")
input()


das funktioniert problemlos...ich hab jetzt auch gerade nocheinmal dasselbe skript mit nano geschrieben, ausführbar gemacht, und doppelklick auf die datei im dateimanager und funktioniert problemlos!! Aber das kann doch nicht sein??
wieso funktioniert das, aber print ("hello") mit input() und auch das andere skript nicht??
 
Das führt vermutlich nur /usr/bin/env auf und beendet dann. Grob geraten.
 
JAAAA!!! gelöst :D ich hatte "/" vor usr in der she bang vergessen siehe die 2 verschiedenen skripte
 
Zurück
Oben