Pourquoi devrais-je l'utiliser au lieu de optparse ? Y a-t-il de nouvelles fonctionnalités que je devrais-je connaître ?
La réponse de @Nicholas couvre bien cela, je pense, mais pas la question plus "méta" avec laquelle vous commencez :
Pourquoi une autre ligne de commande a été créé ?
C'est le dilemme numéro un lorsqu'un module utile est ajouté à la bibliothèque standard : que faire lorsqu'un moyen nettement meilleur, mais incompatible avec le passé, de fournir le même type de fonctionnalité émerge ?
Soit vous vous en tenez à l'ancienne méthode, qui a été dépassée (typiquement lorsque nous parlons de paquets compliqués : asyncore vs twisted, tkinter vs wx ou Qt, ...), soit vous vous retrouvez avec de multiples méthodes incompatibles pour faire la même chose (les analyseurs XML, à mon avis, en sont un meilleur exemple que les analyseurs en ligne de commande -- mais les email
La comparaison entre le paquet et la myriade d'anciennes façons de traiter des problèmes similaires n'est pas très éloignée non plus;-).
Vous pouvez faire de menaçants grognements dans la documentation à propos des anciennes méthodes qui sont "dépréciées", mais (tant que vous avez besoin de conserver la compatibilité ascendante) vous ne pouvez pas vraiment les supprimer sans empêcher les grandes applications importantes de passer à des versions plus récentes de Python.
(Le deuxième dilemme, qui n'est pas directement lié à votre question, est résumé par le vieil adage "la bibliothèque standard est l'endroit où les bons paquets vont mourir"... avec des versions tous les ans et demi environ, des paquets qui ne sont pas très...), muy stable, no qui ont besoin de versions plus fréquentes que cela, peuvent en fait souffrir considérablement d'être "gelées" dans la bibliothèque standard... mais c'est vraiment un autre problème).
8 votes
Ou peut-être n'en utiliser aucun, car depuis 2012, Python dispose d'un outil facile, puissant et vraiment efficace. cool pour l'analyse des arguments appelé docopt. docopt.org
1 votes
Essayez de cliquer, c'est une enveloppe autour de optparse.