[Python] String => Liste d'arguments

Fermé
beafer - 17 avril 2009 à 13:54
 magic_oliv - 30 mars 2010 à 16:36
Bonjour,
Je souhaite appeler une fonction dans un script python, disons f, ainsi prototypée :
f ( param1=value1, param2=value2, param3=value3, param_supp )

En gros mes 3 premiers arguments sont obligatoires et param_supp représente une liste allant de 1 à beaucoup(!) d'arguments, de la forme param4=value4, param5=value5...

Le problème est que je voudrais que l'utilisateur donne les 3 premiers arguments (obligatoires) seulement OU ces 3 premiers et quelques autres (facultatifs) lors de l'appel de ce script python.

J'appelle pour le moment le script ainsi : monscript.py value1 value2 value3
Ou ainsi monscript.py value1 value2 value3 p4=v4 p5=v5 p6=v6 ...

J'ai essayé de faire f(p1=v1, p2=v2, p3=v3, param_supp), avec param_supp de type String comprenant les sys.argv[4:] séparés par des virgules (ici param_supp=" p4=v4, p5=v5, p6=v6"); mais cela me renvoie une erreur car il interprète ma Sting param_supp comme un seul 4 eme argument (comprenant des virgules donc erreur).

J'ai tenté de faire un exec "print "+param_supp à la place mais même erreur.


J'ai l'impression de pas etre clair du tout donc n'hésitez pas a me demander des précisions si besoin.


Merci a tous ceux qui essaieront de m'aider.

7 réponses

up svp
1
Merci d'avance à tous les pro de python.
0
up svp
0
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 84
17 avril 2009 à 16:22
salut, il y a pas grand monde sur le forum pour les problemes python apparament .... :( je seche aussi sur un problème .. )

Bon courage ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui apparemment, merci pour ton soutien tout de meme!

Bon courage a toi aussi pour ton probleme...
0
Bonjour,
Je suis toujours bloqué avec ce problème, si quelqu'un a une solution je suis preneur, merci,,,
0
https://docs.python.org/3/tutorial/controlflow.html#more-control-flow-tools

voilà comment résoudre ton problème
par contre ce ne sera pas sous forme de string mais libre à toi de convertir, ça devrait pas trop posé de problème et je pense surtout que ce n'est pas très utilise pour ton programme
0