[Python] String => Liste d'arguments
beafer
-
magic_oliv -
magic_oliv -
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.
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.
Configuration: Windows XP Firefox 3.0.8
7 réponses
-
-
-
-
salut, il y a pas grand monde sur le forum pour les problemes python apparament .... :( je seche aussi sur un problème .. )
Bon courage ;) -
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... -
Bonjour,
Je suis toujours bloqué avec ce problème, si quelqu'un a une solution je suis preneur, merci,,, -
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