Re: dictionnons dans la joie et la bonne humeur...
fred a écrit :
<zip>
> Bon, pour résumer, je passe des arguments en ligne de commande,
> des « mot-clés », qui sont associés à des variables (que j'appelle « flag
> » parce que ce sont des booléens).
>
> Le but est de détecter quels sont les mot-clés qui sont passés en ligne
> de commande (auquel cas le flag est mis à True) pour pouvoir les repasser à False
> par la suite parce que.
>
> J'ai donc construit mon dico comme ça
>
> {'mot clé': 'variable_flag'}
>
> et ensuite, je fais un
>
> if (p in dico.keys()):
> exec('self.'+dico[p]+' = False')
>
> Ok, d'aucuns trouveront peut-être ça tordu quand même,
> mais nettement moins que mon idée initiale.
> Et ça marche du tonerre.
>
> Bon, le coup du exec ne me plaît pas des masses, ok...
setattr(self,dico[p],False)
Ceci dit, si tu n'as que des vrai/faux, tu pourrais aussi travailler
avec un set qui contienne les mots clés présents...
cles = set(sys.argv[1:])
if x in cles : ....
A+
|