2017-05-05 1 views
1

J'utilise PyZo (avec python3.5) et je ne sais pas comment exécuter un script avec les arguments de l'interpréteur python de PyZo - ou de l'interpréteur python en général. Je trouve par exemple ouvrable suivant here pour python3 mais ne sais pas comment passer des arguments (par exemple un fichier csv input_data.csv) au scriptComment lancer un script python avec des arguments dans l'interpréteur python 3?

>>> exec(open("./script.py").read()) 

Cela fonctionne dans ipython:

In [1]: run script.py input_data.csv 

Quel est le python 3 équivalent de la commande iPython ci-dessus?

Merci


Note 1

Lors de l'exécution d'un script avec des arguments d'une ligne de commande OS vous tapez ceci:

$ python script.py input_data.csv

Ce que j'attendre en utilisant l'interpréteur python est en mesure d'exécuter un script python par exemple comme ceci:

>>> script.py input_data.csv

sans dire calling python executable, ou en utilisant 'exec(open("./script.py").read())', etc. Pour moi exécution d'un script avec des arguments est chose fondamentale à faire, mais apparemment pas pour la majorité des utilisateurs.

+1

double possible de [Python: la fonction Exécuter à partir de la ligne de commande] (http://stackoverflow.com/questions/3987041/python-run-function-from-the-command-line) –

+0

je veux exécuter un script à partir d'un interpréteur python non ligne de commande OS – francek

+1

L '"équivalent python3" est soit (i) pour installer IPython pour Python 3 et juste l'utiliser, soit (ii) (un peu plus clunkily) mettre 'sys.argv = [' script.py ',' input_data.csv '] 'à la main avant d'exécuter le contenu de' script.py'. Mais je pense que ce que vous voulez vraiment, c'est l'équivalent *** PyZo *** de 'run' d'IPython. Je ne serais pas surpris d'apprendre que cela existe sous une forme ou une autre, mais c'est une question spécifique à PyZo. – jez

Répondre

1
>>> import subprocess 
>>> subprocess.run('python script.py input_data.csv', shell=True) 
+0

j'aime ce Claudio, ne l'ai pas vu ailleurs – francek