Problème d'utilisation d' argparse pour récupérer les arguments

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- coding: cp1252 -*-
import sys
import os
import time
import os.path
import argparse
 
 
# Constantes : nom et version du script
__NOM_SCRIPT="arguments.py"
__VERSION_SCRIPT="1.0"
 
# Definition des constantes systemes
__SYSTEM = sys.platform
__PYTHON_VERSION = sys.version
 
#*****************************************************************************************************************************#
#                                         Définitions des fonctions et procédures                                             #
#*****************************************************************************************************************************#
 
def syntax(): 
	print('Syntaxe: recuperer_arguments nomfichier  [-xls|-csv|-les2] [--output=nomfichier] ')
	print(" nomfichier :nom du fichier d'entree")
	print(' -xls|-csv|-les2 : type de param�tre de sortie ')	
	print(' --output=nomfichier :  fichier de sortie ')	
	exit(1)
 
def cmd_arguments(args):
	arguments = {'input' : None , 'type' : '-les2', 'output' : "Total-Flux_Non_Traitable_Flunet" }
	parser = argparse.ArgumentParser(description='R�cuperer les arguments de la ligne de commande')
	parser.add_argument('-xlsx' , '-csv' , '-les2' , dest='type' , default='-les2' , action ='store' , help='type de fichier')
	parser.add_argument("input", action ="store", help="fichier d'entr�e")
	parser.add_argument("--ouput" , dest="output", action ="store",  default="Total-Flux_Non_Traitable_Flunet" ,help="fichier de sortie") 
	return parser.parse_args()
 
 
#**************************************************************************************#
#                                                                                 Main                                                                    #
#**************************************************************************************#
 
if __name__ == "__main__":
	args = cmd_arguments(sys.argv)
	print(args)
Bonjour , mon application doit traiter divers paramètres:

nomfichier : premier paramètre obligatoire
-xlsx ou -csv ou -les2 :second paramètre obligatoire
--output="nomfichierout" : 3ieme paramètre (celui-ci est obligatoire)

je lance le programme avec les arguments suivant ::--> test.txt -csv --output='ficout'mais lorsque je lance wingware ide avec ces paramètres j’obtiens ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
usage: arguments.py [-h] [-xlsx TYPE] [--ouput OUTPUT] input
arguments.py: error: argument -xlsx/-csv/-les2: expected one argument
je lance python

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
>>>  arguments.py test.txt -xlsx --output="ficout"
  File "<stdin>", line 1
    arguments.py test.txt -xlsx --output="ficout"
    ^
IndentationError: unexpected indent
>>>
j'aimerais aussi ajouter des arguments pour tester le programme sous l'Ide Eclipse/pydev je cherche comme mettre les arguments pour faire des tests