Compilando código python3 no terminal com interpretador

Compilando código python3 no terminal com interpretador

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 -iinterruptor. 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.pyo 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',)
>>> 

informação relacionada