Utilisation librairie argparse
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 :
Code:
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) |
(où f1, f2 et f3 sont des fichiers)
Je lance mon programme en ligne de commande :
Code:
python3 monprogramme.py f1, f2, f3
et j'obtiens l'erreur :
Code:
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 |
(Et si j'écris le programme à la suite du if __name __ == "__main__" j'ai comme retour que les arguments ne sont pas reconnus)
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 !