386 Stimmen

Wie führt man eine Datei innerhalb des Python-Interpreters aus?

Ich versuche, eine Datei mit Python-Befehlen aus dem Interpreter heraus auszuführen.

EDIT: Ich versuche, Variablen und Einstellungen aus dieser Datei zu verwenden, nicht einen separaten Prozess aufzurufen.

19voto

Neo li Punkte 320

Meiner Meinung nach ist das der beste Weg:

import yourfile

und nach der Änderung von yourfile.py

reload(yourfile)   

oder in Python3:

import imp; 
imp.reload(yourfile)

aber das wird die Funktion und die Klassen so aussehen lassen: yourfile.function1, yourfile.class1.....

Wenn Sie diese nicht akzeptieren können, ist die endgültige Lösung:

reload(yourfile)
from yourfile import *

12voto

Shital Shah Punkte 54846

Tun Sie es einfach,

from my_file import *

Achten Sie darauf, dass Sie die Erweiterung .py nicht hinzufügen. Wenn Ihre .py-Datei in einem Unterverzeichnis liegt, verwenden Sie,

from my_dir.my_file import *

9voto

Prashant Gonga Punkte 153

Für Python 3:

>>> exec(open("helloworld.py").read())

Vergewissern Sie sich, dass Sie sich im richtigen Verzeichnis befinden, bevor Sie den Befehl ausführen.

Um eine Datei aus einem anderen Verzeichnis auszuführen, können Sie den folgenden Befehl verwenden:

with open ("C:\\Users\\UserName\\SomeFolder\\helloworld.py", "r") as file:
    exec(file.read())

8voto

carlos e orozco Punkte 107

Ich bin kein Experte, aber das ist mir aufgefallen:

Wenn Ihr Code zum Beispiel mycode.py heißt und Sie nur 'import mycode' eingeben, wird Python ihn ausführen, aber nicht alle Variablen dem Interpreter zur Verfügung stellen. Ich habe herausgefunden, dass Sie eigentlich 'from mycode import *' eingeben sollten, wenn Sie dem Interpreter alle Variablen zur Verfügung stellen wollen.

8voto

AMG Punkte 91

Für Python3 verwenden Sie entweder mit xxxx = name de yourfile .

exec(open('./xxxx.py').read())

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X