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.

5voto

Ken Seehart Punkte 194

Angenommen, Sie wünschen die folgenden Funktionen:

  1. Die Quelldatei verhält sich in Ihrem Debugger korrekt (Dateiname wird im Stack angezeigt usw.)
  2. __name__ == '__main__' ist True, damit sich Skripte richtig als Skripte verhalten.

En exec(open('foo.py').read()) versagt Merkmal 1 Die import foo Strategie schlägt fehl Merkmal 2

Um beides zu bekommen, brauchen Sie dies:

    source = open(filename).read()
    code = compile(source, filename, 'exec')
    exec(code)

-1voto

bluevariant Punkte 870
python -c "exec(open('main.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