Bonjour,
J'aimerais utiliser la librairie argparse pour exécuter des programmes python en mettant directement mes arguments en ligne de commande linux.
Pour ça j'ai écrit ceci :
(où f1, f2 et f3 sont des fichiers)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 import argparse def monprogramme (f1,f2,f3): ... monprogramme(f1 f2,f3) if __name__ == "__main__": parser = argparse.ArgumentParser(prog = "Mon Programme", description = "un super programme très utile") parser.add_argument("-i", "--input", help = "sos") args = parser.parse _args() print(args.input)
Je lance mon programme en ligne de commande :
et j'obtiens l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part python3 monprogramme.py f1, f2, f3
(Et si j'écris le programme à la suite du if __name __ == "__main__" j'ai comme retour que les arguments ne sont pas reconnus)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Traceback (most recent call last): File "monprogramme.py", line 102, in <module> monprogramme(f1, f2, f3) NameError : name 'f1' is not defined
Je pense que j'utilise mal la librairie argparse, mais même en ayant lu le doc python je ne comprends pas quelle pourrait être mon erreur
Quelqu'un a une idée ?
Merci d'avance !
Partager