Hallo,
ich habe schon in Basic, Delphi programmiert.
Das heißt die grundlegenden des Programmierens sind mir vertraut.
Jetzt möchte ich mich mit Python beschäftigen.
Um kleine Programme zu testen fände ich es bequemer diese direkt aus der Python-Shell heraus zu starten.
Ich habe mit googeln dazu folgende Anleitung gefunden. In der Python-Shell execfile('script.py') eingeben.
Python 3.8 32bit kennt aber execfile nicht
Fehlermeldung NameError: name 'execfile' is not defined
Ich bin erstaunt, dass man in der shell nicht einfach die Datei samt Pfad eingibt und dann wird es ausgeführt.
Das spuckt auch eine Fehlermeldung aus
C:\Users\Stefan\MyTest-001.py
^
SyntaxError: unexpected character after line continuation character
Habe ich jetzt alle DAU-Fehler konsequent abgegrast oder gibt es noch mehr?
Ich wäre euch sehr dankbar wenn mir jemand erklärt wie man direkt aus der shell heraus ein *.py-Script startet.
Ich weiß wie es aus einem CMD-Fenster heraus geht. Ich möchte aber unbedingt wissen wie startet man es direkt aus der Python-shell heraus
viele Grüße
Stefan
Python-Script in der Python-Shell starten
- noisefloor
- User
- Beiträge: 4193
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Dafür startest du unter Windows eine Eingabeaufforderung oder Powershell und führst da mit `python dein_skript.py` dein Skript aus. Oder du nimmst eine IDE - Thonny steht z.B. im Ruf, sehr anfängerfreundlich zu sein - darin kannst du dein Skript aus ausführen. Und wenn was nicht läuft direkt korrigieren. Macht wesentlich mehr Sinn als das, was dir vorschwebt.
Zu `execfile`: das gibt es in Python 3 nicht, dass ist Python 2. Und letzteres ist seit 1.1.2020 ohne Support durch die Python Entwickler.
Gruß, noisefloor
Die Python-Shell ist ein interaktive Shell, die nach dem Prinzip "REPL" (Read-Evalute-Print Loop) arbeitet. D.h. das ist zum Testen und Rumspielen, aber eigentlich nichts, um andere Skripte darin auszuführen.Ich bin erstaunt, dass man in der shell nicht einfach die Datei samt Pfad eingibt und dann wird es ausgeführt.
Dafür startest du unter Windows eine Eingabeaufforderung oder Powershell und führst da mit `python dein_skript.py` dein Skript aus. Oder du nimmst eine IDE - Thonny steht z.B. im Ruf, sehr anfängerfreundlich zu sein - darin kannst du dein Skript aus ausführen. Und wenn was nicht läuft direkt korrigieren. Macht wesentlich mehr Sinn als das, was dir vorschwebt.
Zu `execfile`: das gibt es in Python 3 nicht, dass ist Python 2. Und letzteres ist seit 1.1.2020 ohne Support durch die Python Entwickler.
Gruß, noisefloor
`execfile` sollte man auch nicht verwenden und auch nicht die Alternative, die für Python3 in der Dokumentation steht, weil die Skripte nicht mehr unabhängig voneinander sind, und Reste des letzten Laufs im Speicher bleiben könnten. Was ist so kompliziert daran, einfach eine neue Python-Instanz zu starten?
Vielleicht ist es hilfreich, die Python Shell eher als Werkzeug zur Interaktion mit der Programmiersprache Python bzw. als interaktiven Interpreter zu sehen. Sie ist nicht als Shell im Sinne einer OS Shell gedacht und deswegen haben Funktionen wie das (einfache) Starten von externen Prozessen da auch nichts verloren. Es gibt aber Tools, die den Python-Interpreter um viele Komfortfunktionen, darunter auch Shell-Features, erweitern. Zum Beispiel IPython (interaktiver Python-Interpreter, der sich ein bisschen wie eine Shell-verhält) oder Xonsh (eine Shell, die Python versteht). In Ipython kannst du einen externen Prozess durch ein vorangestelltes ! starten (z.B. "!./mein_skript.py").
Hallo noisefloor, Sirius3, nezzcarth,
vielen Dank fürs Anworten. Ich habe inzwischen herausgefunden das ich mit Python IDLE genau das machen kann was ich mir vorstelle.
Das Python-Fenster mit Fenster-Titel "Python 3.8 (32bit) " war sozusagen die falsche Exe.
Das Fenster "Python 3.8.2 Shell" macht das so wie ich mir das vorstelle.
Ich hatte den Begriff "shell" selbst verwendet weil ich noch nicht wusste, dass es neben "Python 3.8 (32bit) " auch noch "Python 3.8.2 Shell" gibt.
Wie wird denn nun das eine und das andere offiziell genannt?
Ich würde denken das Fenster mit Namen "Python 3.8.2 Shell" ist das Programm mit dem man Python-Programme schreibt und auch testet.
Oder muss man sich dazu unbedingt noch irgendwelche anderen Tools installieren?
viele Grüße
Stefan
vielen Dank fürs Anworten. Ich habe inzwischen herausgefunden das ich mit Python IDLE genau das machen kann was ich mir vorstelle.
Das Python-Fenster mit Fenster-Titel "Python 3.8 (32bit) " war sozusagen die falsche Exe.
Das Fenster "Python 3.8.2 Shell" macht das so wie ich mir das vorstelle.
Ich hatte den Begriff "shell" selbst verwendet weil ich noch nicht wusste, dass es neben "Python 3.8 (32bit) " auch noch "Python 3.8.2 Shell" gibt.
Wie wird denn nun das eine und das andere offiziell genannt?
Ich würde denken das Fenster mit Namen "Python 3.8.2 Shell" ist das Programm mit dem man Python-Programme schreibt und auch testet.
Oder muss man sich dazu unbedingt noch irgendwelche anderen Tools installieren?
viele Grüße
Stefan
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@StefanL38: Python-Programme schreibt man in einem Editor oder einer IDE und testet sie, mindestens wenn es Konsolenprogramme sind, am besten in einer Konsole vom Betriebssystem.
Wenn man keine anderen Programme installieren will kann man IDLE als Editor/IDE verwenden, aber so wirklich gut ist das nicht. Halt ziemlich rudimentär. Und wirklich nur für Python.
Wenn man keine anderen Programme installieren will kann man IDLE als Editor/IDE verwenden, aber so wirklich gut ist das nicht. Halt ziemlich rudimentär. Und wirklich nur für Python.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari