Lorsque je compile mon code simplement avec la commande python3 name.py
, il est exécuté, mais toute l'histoire se termine et je ne peux rien faire avec les données compilées.
Je veux en quelque sorte compiler mon programme pour l'interprète et pouvoir expérimenter les données qu'il contient. Par exemple, je souhaite utiliser timeit(function(argument))
avec la fonction et l'argument, définis et définis dans le programme my.py.
Ce que vous recherchez, c’est le commutateur -i
. Selon les pages de manuel:
-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.
Donc, si votre nom de script est name.py
, vous devez exécuter:
python3 -i name.py
La réponse de @ daltonfury42 est un moyen de le faire, mais notez que le script sera d'abord exécuté avant d'entrer dans l'interpréteur. Une autre consiste à exécuter l’interprète dans le même répertoire que votre script et à l’importer.
$ cat spam.py
def main(*args):
print("Called main() with args: ", args)
if __== "__main__":
main("foo")
$ python3 spam.py
Called main() with args: ('foo',)
$ python3
>>> import spam
>>> spam.main("bar")
Called main() with args: ('bar',)
>>>