Kompilieren von Python3-Code im Terminal mit Interpreter

Kompilieren von Python3-Code im Terminal mit Interpreter

Wenn ich meinen Code einfach mit dem Befehl kompiliere python3 name.py, wird er ausgeführt, aber dann endet die ganze Geschichte und ich kann mit den kompilierten Daten nichts anfangen.

Ich möchte mein Programm irgendwie in den Interpreter kompilieren und die Möglichkeit haben, mit den Daten in diesem Interpreter zu experimentieren. Ich möchte beispielsweise timeit(function(argument))die Funktion und das Argument verwenden, die in meinem Programm name.py definiert und festgelegt sind.

Antwort1

Was Sie suchen, ist der -iSchalter. Laut den Manpages:

-i    When  a  script  is passed as first argument or the -c option is
      used, enter interactive mode after executing the script  or  the
      command.  It does not read the $PYTHONSTARTUP file.  This can be
      useful to inspect global variables  or  a  stack  trace  when  a
      script raises an exception.

Wenn Ihr Skriptname also lautet, name.pymüssen Sie Folgendes ausführen:

python3 -i name.py

Antwort2

Die Antwort von @daltonfury42 ist eine Möglichkeit, dies zu tun. Beachten Sie jedoch, dass zuerst das Skript ausgeführt wird, bevor es in den Interpreter geht. Eine andere Möglichkeit besteht darin, den Interpreter einfach im selben Verzeichnis wie Ihr Skript auszuführen und es zu importieren.

$ cat spam.py 
def main(*args):
    print("Called main() with args: ", args)

if __name__ == "__main__":
    main("foo")
$ python3 spam.py 
Called main() with args:  ('foo',)
$ python3
>>> import spam
>>> spam.main("bar")
Called main() with args:  ('bar',)
>>> 

verwandte Informationen