[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.
A voir également:
- [Python] String => Liste d'arguments
- Liste déroulante excel - Guide
- Citizen code python avis - Accueil - Outils
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
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 ;)
Bon courage ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je suis toujours bloqué avec ce problème, si quelqu'un a une solution je suis preneur, merci,,,
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
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