Компиляция кода python3 в терминале с интерпретатором [closed]

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

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

2
задан 22 April 2016 в 09:52

2 ответа

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

-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
ответ дан 22 April 2016 в 19:52
  • 1
    Это - результат для sudo systemctl status mycompton.service Th09 07 15:46:55 GaCon systemd[1]: Failed to start compton autostart script. Th09 07 15:46:55 GaCon systemd[1]: mycompton.service: Unit entered failed state. Th09 07 15:46:55 GaCon systemd[1]: mycompton.service: Failed with result 'exit-code'. – Việt Lê Huy 7 September 2017 в 21:52

Ответ @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',)
>>> 
0
ответ дан 22 April 2016 в 19:52
  • 1
    ● mycompton.service - compton autostart script Loaded: loaded (/etc/systemd/system/mycompton.service; enabled; vendor preset: enabled) Active: inactive (dead) (Result: exit-code) since T5 2017-09-07 15:46:55 ICT; 3min 4s ago Process: 5814 ExecStart=/usr/bin/compton -b --vsync opengl (code=exited, status=1/FAILURE) – Việt Lê Huy 7 September 2017 в 21:54

Другие вопросы по тегам:

Похожие вопросы: