Pourquoi devrais-je l'utiliser au lieu d'Optparse? Est-ce que je devrais connaître leurs nouvelles fonctionnalités?
@ La réponse de Nicholas couvre bien cela, je pense, mais pas la question la plus "méta" avec laquelle vous commencez:
Pourquoi un autre module d'analyse de ligne de commande a-t-il été créé?
C'est le dilemme numéro un lorsque n'importe quel module utile est ajouté à la bibliothèque standard: que faites-vous quand une manière sensiblement meilleure, mais rétrocompatible, de fournir le même type de fonctionnalité émerge?
Soit vous vous en tenez à l'ancienne et certes dépassée (généralement lorsque nous parlons de packages compliqués: asyncore vs twisted, tkinter vs wx ou Qt, ...) ou vous vous retrouvez avec plusieurs façons incompatibles de faire la même chose (XML analyseurs, à mon humble avis, sont un exemple encore meilleur de cela que les analyseurs de ligne de commande - mais le email
package par rapport à la myriade d'anciennes façons de traiter des problèmes similaires n'est pas trop loin non plus ;-).
Vous pouvez faire des grognements menaçants dans les documents sur les anciennes méthodes étant "obsolètes", mais (tant que vous devez garder la compatibilité descendante), vous ne pouvez pas vraiment les supprimer sans empêcher de grandes applications importantes de passer aux versions Python plus récentes.
(Le dilemme numéro deux, qui n'est pas directement lié à votre question, est résumé dans le vieil adage "la bibliothèque standard est l'endroit où les bons packages disparaissent" ... avec des versions tous les ans et demi environ, des packages qui ne sont pas très, très stable, n'ayant pas besoin de versions plus souvent que cela, peut en fait souffrir considérablement en étant "gelé" dans la bibliothèque standard ... mais, c'est vraiment un problème différent).