Когда я компилирую свой код просто с помощью команды python3 name.py
, он запускается, но на этом вся история заканчивается, и я не могу сделать что-нибудь с компилированными данными.
Я хочу каким-то образом скомпилировать свою программу для интерпретатора и иметь возможность экспериментировать с данными в этом интерпретаторе. Например, я хочу использовать timeit (function (argument))
с функцией и аргументом, определенными и установленными в моей программе name.py.
То, что Вы ищете, эти -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
Ответ @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',)
>>>
● 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
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