getopt: problème avec les options longues (débutant)
5 réponses
ctobini
Bonjour,
Je suis en train d'appendre Python, et j'ai un petit probl=E8me avec
getopt. En utilisant la doc officielle du module, je n'ai aucun
probl=E8me avec les options courtes, mais j'ai une exception avec les
formes longues :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jerome
ctobini wrote:
Bonjour,
Je suis en train d'appendre Python, et j'ai un petit problème avec getopt. En utilisant la doc officielle du module, je n'ai aucun problème avec les options courtes, mais j'ai une exception avec les formes longues :
:~/Desktop$ python essai.py --abc --bcd --cde=arg_de_cde Traceback (most recent call last): File "essai.py", line 7, in ? optlist, args = getopt.getopt(sys.argv[1:], ["abc", "bcd", "cde="]) File "/biobin/python2.2.3//lib/python2.2/getopt.py", line 72, in getopt opts, args = do_longs(opts, args[0][2:], longopts, args[1:]) File "/biobin/python2.2.3//lib/python2.2/getopt.py", line 86, in do_longs has_arg, opt = long_has_args(opt, longopts) File "/biobin/python2.2.3//lib/python2.2/getopt.py", line 103, in long_has_args raise GetoptError('option --%s not recognized' % opt, opt) getopt.GetoptError: option --abc not recognized
Auriez-vous une idées là-dessus ?
En vous remerciant,
C. Tobini
Bonjour
En regardant la doc python : getopt(args, options[, long_options])
les options sont obligatoires...
Essaye avec optlist, args = getopt.getopt(sys.argv[1:], '', ["abc", "bcd", "cde="])
Jérôme
ctobini wrote:
Bonjour,
Je suis en train d'appendre Python, et j'ai un petit problème avec
getopt. En utilisant la doc officielle du module, je n'ai aucun
problème avec les options courtes, mais j'ai une exception avec les
formes longues :
Je suis en train d'appendre Python, et j'ai un petit problème avec getopt. En utilisant la doc officielle du module, je n'ai aucun problème avec les options courtes, mais j'ai une exception avec les formes longues :
si tu regarde la doc de getopt, l'api est la suivante getopt(args, options[, long_options])
il y a donc args la liste des chaines de caracteres a traiter typiquement sys.agv[1:] options la chaine de description des options monolettres qui sont obligatoires
les long_options sont facultatives
il te faut donc la chaine de description des options monolettres
si tu regarde la doc de getopt, l'api est la suivante
getopt(args, options[, long_options])
il y a donc
args la liste des chaines de caracteres a traiter typiquement sys.agv[1:]
options la chaine de description des options monolettres
qui sont obligatoires
les long_options sont facultatives
il te faut donc la chaine de description des options monolettres
si tu regarde la doc de getopt, l'api est la suivante getopt(args, options[, long_options])
il y a donc args la liste des chaines de caracteres a traiter typiquement sys.agv[1:] options la chaine de description des options monolettres qui sont obligatoires
les long_options sont facultatives
il te faut donc la chaine de description des options monolettres
J'avais déjà essayé vendredi soir, mais en fin de semaine, je viens de me rendre compte que j'avais oublié la virgule '' ["abc", "bcd", "cde="]), et plusieurs fois d'affilé :-)
Merci encore pour votre aide et bonne journée à tous.
J'avais déjà essayé vendredi soir, mais en fin de semaine, je viens
de me rendre compte que j'avais oublié la virgule '' ["abc", "bcd",
"cde="]), et plusieurs fois d'affilé :-)
Merci encore pour votre aide et bonne journée à tous.
J'avais déjà essayé vendredi soir, mais en fin de semaine, je viens de me rendre compte que j'avais oublié la virgule '' ["abc", "bcd", "cde="]), et plusieurs fois d'affilé :-)
Merci encore pour votre aide et bonne journée à tous.
C. Tobini
bruno at modulix
ctobini wrote:
Bonjour,
Je suis en train d'appendre Python, et j'ai un petit problème avec getopt.
Sans rapport direct avec ta question, mais je te recommande plutôt optparse.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
ctobini wrote:
Bonjour,
Je suis en train d'appendre Python, et j'ai un petit problème avec
getopt.
Sans rapport direct avec ta question, mais je te recommande plutôt optparse.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Je suis en train d'appendre Python, et j'ai un petit problème avec getopt.
Sans rapport direct avec ta question, mais je te recommande plutôt optparse.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
ctobini
Bonjour,
Oui j'ai vu que ce module était plus récent et conseillé, je dois reprendre un script fait par une tierce personne, pour l'instant j'assimile son fonctionnement quitte à le modifier plus tard.
C. Tobini
Bonjour,
Oui j'ai vu que ce module était plus récent et conseillé, je dois
reprendre un script fait par une tierce personne, pour l'instant
j'assimile son fonctionnement quitte à le modifier plus tard.
Oui j'ai vu que ce module était plus récent et conseillé, je dois reprendre un script fait par une tierce personne, pour l'instant j'assimile son fonctionnement quitte à le modifier plus tard.