J'ai créé un script à l'aide de argparse
.
Le script a besoin de prendre un nom de fichier de configuration en option, et l'utilisateur peut spécifier s'ils ont besoin de procéder totalement le script ou seulement les simuler.
Les arguments pour être adoptée: ./script -f config_file -s
ou ./script -f config_file
.
C'est ok pour l'-f config_file partie, mais Il ne cesse de me poser des arguments pour le-s qui est optionnel et ne doit pas être suivie par tous.
J'ai essayé ceci:
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file')
#parser.add_argument('-s', '--simulate', nargs = '0')
args = parser.parse_args()
if args.file:
config_file = args.file
if args.set_in_prod:
simulate = True
else:
pass
Avec les erreurs suivantes:
File "/usr/local/lib/python2.6/dist-packages/argparse.py", line 2169, in _get_nargs_pattern
nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs)
TypeError: can't multiply sequence by non-int of type 'str'
Et même erreur avec ''
au lieu de 0
.