Seite 1 von 1
Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Mittwoch 22. September 2021, 16:35
von Suafidudi
Hallo,
Ich habe vor ein paar Tagen mit Python angefangen und es macht mega Spaß. Ich arbeite mit Pycharm und habe gerade die input-Funktion mir angeschaut.
Dann hab ich gleich mal damit rumgespielt und schrieb das :
name = input("Enter your name:")
age = input("Enter your age:")
city = input("Enter your city:")
print("Hello " + name + "! \nNice to meet you," + name + "," + age+ ",from " + city + "!

")
In Pycharm funktioniert auch alles super, aber sobald ich das Script extern ausführe habe ich das Problem, dass nur die ersten drei Zeilen Code ausgeführt werden und sich danach das Fenster schließt.
Weis jemand wie ich es hinbekomme auch noch die letzte Zeile angezeigt zu bekommen.
Vielen Dank im vorraus
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Mittwoch 22. September 2021, 18:47
von __blackjack__
@Suafidudi: Konsolenprogramme startet man in einer bereits offenen Konsole. Dann bleibt die auch nach Programmende offen.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Mittwoch 22. September 2021, 20:26
von hyle
Oder man lässt das Skript nicht einfach durchlaufen und sich danach beenden.
Z.B.:
Code: Alles auswählen
from signal import pause
name = input("Enter your name:")
...
pause()
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Mittwoch 22. September 2021, 21:15
von Sirius3
@hyle: das ist keine gute Idee. Konsolenprogramme werden in einer Konsole gestartet. Deine Methode versagt beim ersten Fehler.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Donnerstag 23. September 2021, 21:26
von hyle
@Sirius3 Kannst Du mir bitte erklären warum das keine gute Idee ist? Weil es sich hier um eine User-Interaktion handelt?
Versteh mich bitte nicht falsch, ich möchte nur gern wissen was ich übersehen habe.
Fall 1: Die Konsole ist offen und man startet das Skript darin. Es tritt ein Fehler auf. Die Fehlermeldung wird in der Konsole angezeigt.
Fall 2: Die Konsole öffnet sich um das Skript zu starten. Es tritt ein Fehler auf. Die Konsole schließt sich.
Ist es nur keine gute Idee, weil man die Fehlermeldung nun nicht sieht, bzw. weil der Programmierer sich nicht um einen vernünftige Fehlerbehandlung gekümmert hat? Wenn das ein Argument dagegen ist, dann dürfte man IMHO kein Skript automagisch z.B. per Cronjob oder Systemd Service Unit starten lassen, weil es dort auch keine (direkte) Fehlerausgabe gibt.
Oder an welcher Stelle ist da der Knoten in meinem Kopf?

Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Donnerstag 23. September 2021, 21:48
von Sirius3
Du hast doch die Argumente selbst gebracht. Bei cronjob und systemd hast Du ja andere Möglichkeiten den Fehler zu sehen, mit Deinem Doppelgeclicke hast Du dagegen keine Möglichkeit. DAs ist der Unterschied.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Donnerstag 23. September 2021, 21:55
von hyle
Doppelgeklicke? Davon schrieb ich nichts. Davon abgesehen kann man Fehlermeldungen auch in Dateien umleiten oder eine Systemd Service Unit einrichten, die mit einer *.desktop-Datei gestartet werden könnte, um den von Dir genannten Doppelklick mit einzubeziehen.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Donnerstag 23. September 2021, 22:02
von __deets__
Aber das pause ist doch für den doppelklick. Wenn wäre das mit einem catchall + fehlerausgabe sinnvoll, damit man bei einem Fehler nicht wie der Ochs vorm Berg steht. Oder man nutzt eben gleich die Konsole, und vermeidet so auch das ja eher nervige abbrechen müssen.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Donnerstag 23. September 2021, 22:15
von hyle
Eine Konsole wird eh verwendet / geöffnet, so oder so. Das mit dem Signal war auch eigentlich nur ein Beispiel (steht ja auch da im Beitrag #3

) und hätte genau so gut eine Schleife oder noch ein input sein können, um das Skript nicht einfach ohne "der letzten Ausgabe" durchlaufen zu lassen. Siehe dazu Beitrag #1!
Und wie ich auch schon schrieb ist m.M.n. eine fehlende Fehlerbehandlung kein Argument dagegen. Ich will mich hier aber auch nicht streiten.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Freitag 24. September 2021, 00:07
von __blackjack__
@hyle: Natürlich ist das ein Argument dagegen, und zweite ist, das jeder Benutzer Dich hassen wird der das richtig verwendet, weil *keine verdammte andere Konsolensoftware so einen Scheiss macht!!!!1!!elf!*.
Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Freitag 24. September 2021, 11:27
von hyle
Mit anderen Worten, das macht man einfach nicht, denn das ist unüblich und böse?!
Ok, mit dieser Aussage gebe ich mich zufrieden.

Re: Probleme beim Ausführen des Scripts (mit externem Programm)
Verfasst: Freitag 24. September 2021, 14:41
von __deets__
Na das gilt ja nun fuer die meisten Sachen. Globale Variablen, getter/setter, unsichere Thread-Kommunikation, falsche Socket-Programmierung, Python 3 statt 2, etc. pp. Sind alles nur "kann", niemals muss.