Quando compilo meu código simplesmente com o comando python3 name.py
, ele está sendo executado, mas aí a história toda acaba e não consigo fazer nada com os dados compilados.
Quero de alguma forma compilar meu programa para o intérprete e ter a capacidade de experimentar os dados desse intérprete. Por exemplo, quero usar timeit(function(argument))
com a função e o argumento definidos e configurados em meu programa name.py.
Responder1
O que você está procurando é o -i
interruptor. De acordo com as páginas de manual:
-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.
Portanto, se o nome do seu script for name.py
o que você precisa fazer, execute:
python3 -i name.py
Responder2
A resposta de @ daltonfury42 é uma maneira de fazer isso, mas observe que ele executará o script primeiro, antes de entrar no intérprete. Outra é apenas executar o interpretador no mesmo diretório do seu script e importá-lo.
$ 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',)
>>>