Компиляция кода python3 в терминале с помощью интерпретатора

Компиляция кода python3 в терминале с помощью интерпретатора

Когда я компилирую свой код просто с помощью команды python3 name.py, он запускается, но затем вся история заканчивается, и я не могу ничего сделать с скомпилированными данными.

Я хочу как-то скомпилировать свою программу в интерпретатор и иметь возможность экспериментировать с данными в этом интерпретаторе. Например, я хочу использовать timeit(function(argument))с функцией и аргументом, определенными и заданными в моей программе name.py.

решение1

То, что вы ищете, это -iпереключатель. Согласно man-страницам:

-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.

Итак, если имя вашего скрипта соответствует name.pyтому, что вам нужно сделать, это запустить:

python3 -i name.py

решение2

Ответ @daltonfury42 - один из способов сделать это, но учтите, что он сначала запустит скрипт, прежде чем перейти в интерпретатор. Другой способ - просто запустить интерпретатор в том же каталоге, что и ваш скрипт, и импортировать его.

$ 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',)
>>> 

Связанный контент