Python-Namensfehler: Name der ausführbaren Datei ist nicht definiert
-
Alternative zu
execfile()
in Python 3 -
Verwenden Sie
exec()
, um eine Python-Datei auszuführen -
Verwenden Sie den
with
-Block, um eine Python-Datei mitexec()
auszuführen
In Python 2 gibt es eine eingebaute Funktion execfile()
, in der eine Datei als Python-Anweisungen geparst und ausgewertet wird. Diese Funktion gibt es in Python 3 nicht mehr.
Dieser Artikel zeigt die mögliche Alternative zum Ausführen einer Datei in Python 3.
Alternative zu execfile()
in Python 3
In Python 2 verwenden wir die Funktion execfile()
, um eine Datei auszuführen. In Python 3 haben wir eine ähnliche Funktion namens exec()
.
Zuerst öffnen und lesen wir die Datei und übergeben sie als Argument an die Funktion exec()
.
die exec()
-Funktion in Python 3
Die Python-Funktion exec()
führt einen dynamisch erstellten Codeblock aus, der als Zeichenfolge übergeben wird.
Allgemeine Syntax:
# Python 3.x
exec(object, global, local)
Für die Funktion exec()
werden drei Parameter benötigt.
- Ein
Objekt
kann ein String oder ein mehrzeiliger Code sein. - Ein
globaler
Parameter kann ein Wörterbuch sein. - Ein
local
kann ein Zuordnungswörterbuch sein.
Sowohl die lokalen
als auch die globalen
Parameter sind optional. Auch die exec()
ist eine void-Funktion und gibt keinen Wert zurück.
Der folgende Code demonstriert die grundlegende Funktionsweise dieser Funktion. Der String Programmieren macht Spass
wird im folgenden Code ausgegeben.
Es werden drei mathematische Operationen durchgeführt und einzeln an die Funktion exec()
übergeben.
Auf ähnliche Weise können wir einer Zeichenfolge mehrere Zeilen hinzufügen, und jede Zeile wird analysiert, als Python-Anweisung betrachtet und ausgeführt.
Beispielcode:
# Python 3.x
exec('print("programming is fun")')
exec('x=4; y=9; print("Multiplication:", x*y)')
w = 200
exec("print(w == 200)")
exec("print(w / 100)")
Ausgang:
programming is fun
Multiplication: 36
True
2.0
Verwenden Sie exec()
, um eine Python-Datei auszuführen
Wenn wir nun eine externe Python-Datei in unserem Code ausführen wollen, müssen wir die Datei zuerst öffnen, lesen und als Argument an die Funktion exec()
übergeben.
Hier haben wir in unserem relativen Verzeichnis eine Datei myfile.py
erstellt, die den folgenden Code enthält.
# Python 3.x
print("Delftstack")
Um diese Datei in unserem Python-Code auszuführen, öffnen wir sie zuerst mit open()
, lesen sie dann mit der Funktion read()
und führen sie schließlich mit der Funktion exec()
aus.
Beispielcode:
# Python 3.x
exec(open("myfile.py").read())
Ausgang:
Delftstack
Verwenden Sie den with
-Block, um eine Python-Datei mit exec()
auszuführen
Der with
-Block schließt die Datei sicher (automatisch), wenn sie das Ende des Blocks erreicht, wodurch sichergestellt wird, dass keine der Dateien geöffnet bleibt.
Beispielcode:
# Python 3.x
with open("myfile.py", "r") as f:
exec(f.read())
Ausgang:
Delftstack
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung