2017-10-20 42 views
1

je le dossier et les fichiers suivants:Passing arguments de ligne de commande à partir d'un script de dossier à un script de fichier

script_folder 
|__ __main__.py 
|__ script1.py 
|__ script2.py 

Le fichier __main__.py permet l'exécution du dossier comme un script, donc je peux faire quelque chose comme: python3 script_folder. En outre, script1.py et script.py sont des scripts ayant chacun des arguments de ligne de commande différents. Mon objectif est d'être en mesure d'exécuter le script du dossier en tant que tel:

python3 script_folder script1 --normalize -o output.txt 

où l'argument de position (script1) indique folder_script pour exécuter script1.py et les options --noramlize et -o sont des options spécifiques pour script1.py. Quel est le meilleur moyen d'exécuter le script correct et de transmettre les arguments de la ligne de commande au script de fichier correct à partir du script de dossier __main__.py?

Remarque: J'utilise argparse pour analyser les arguments dans chaque script de fichier.

Répondre

2

Ne pas. Appelez le script directement (après avoir créé script_folder un paquet, si nécessaire).

python3 -m script_folder.script1 --normalize -o output.txt 
+0

Merci, juste ce dont j'avais besoin, je savais qu'il y avait quelque chose qui me manquait! Beaucoup plus facile que je ne le pensais. –