Traitements ligne de commande en python
voth
-
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour!
je voudrais analyser le ligne de commande suivante grace à une expressions régulières:
script.py --arg1 --arg2
avec:
arg1 ={val1 |val2 |val3} obligé
et
arg2={val4} facultatif
voilà mon expression mais elle marche po:
re.search("([--])(val1 | val2 | val3)( | \s--val4)", commande ):
vous voyez pourquoi?
merci
je voudrais analyser le ligne de commande suivante grace à une expressions régulières:
script.py --arg1 --arg2
avec:
arg1 ={val1 |val2 |val3} obligé
et
arg2={val4} facultatif
voilà mon expression mais elle marche po:
re.search("([--])(val1 | val2 | val3)( | \s--val4)", commande ):
vous voyez pourquoi?
merci
3 réponses
-
Arg !
Je ne te conseille pas du tout de parser toi-même args.
C'est une très mauvais idée.
Il y a deux modules qui font le boulot pour toi, et qui le font bien:
getopt et optparse.
optparse est le nouveau module (censé être plus puissant), mais j'ai encore une préférence pour getopt. -
-
J'ai mis des exemples avec getopt et optparse là:
https://sebsauvage.net/python/snyppets/#parsing_cmdline