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 : 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)
(où f1, f2 et f3 sont des fichiers)

Je lance mon programme en ligne de commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
python3 monprogramme.py f1, f2, f3
et j'obtiens l'erreur :
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
(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 !