Cuando compilo mi código simplemente con el comando python3 name.py
, se ejecuta, pero luego toda la historia termina y no puedo hacer nada con los datos compilados.
Quiero de alguna manera compilar mi programa para el intérprete y tener la capacidad de experimentar con los datos en ese intérprete. Por ejemplo, quiero usarlo timeit(function(argument))
con la función y el argumento, definidos y configurados en mi programa name.py.
Respuesta1
Lo que buscas es el -i
interruptor. Según las 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.
Entonces, si el nombre de su script es name.py
lo que debe hacer es ejecutar:
python3 -i name.py
Respuesta2
La respuesta de @ daltonfury42 es una forma de hacerlo, pero tenga en cuenta que primero ejecutará el script antes de ingresar al intérprete. Otra es simplemente ejecutar el intérprete en el mismo directorio que su script e importarlo.
$ 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',)
>>>