Migration von optparse-Code zu argparse

Das Modul argparse bietet mehrere höhere Funktionen, die das Modul optparse von sich aus nicht bereitstellt, darunter:

  • Umgang mit positionellen Argumenten.

  • Unterstützung von Unterbefehlen.

  • Alternative Optionspräfixe wie + und /.

  • Umgang mit Argumenten der Art „null oder mehr“ und „eins oder mehr“.

  • Aussagekräftigere Verwendungshinweise.

  • Eine deutlich einfachere Schnittstelle für eigene type- und action-Angaben.

Ursprünglich versuchte das Modul argparse, die Kompatibilität mit optparse zu erhalten. Die grundlegenden Entwurfsunterschiede zwischen einer deklarativen Verarbeitung von Befehlszeilenoptionen (die die Verarbeitung positioneller Argumente dem Anwendungscode überlässt) und der Unterstützung sowohl benannter Optionen als auch positioneller Argumente in der deklarativen Schnittstelle führen jedoch dazu, dass sich die API im Laufe der Zeit von der von optparse entfernt hat.

Wie unter Choosing an argument parsing library beschrieben, können Anwendungen, die derzeit optparse verwenden und mit dessen Arbeitsweise zufrieden sind, einfach weiter optparse nutzen.

Anwendungsentwickler, die eine Migration erwägen, sollten vor der Entscheidung, ob eine Migration wünschenswert ist, außerdem die Liste der grundlegenden Verhaltensunterschiede durchgehen, die in diesem Abschnitt beschrieben sind.

Für Anwendungen, die sich für die Migration von optparse nach argparse entscheiden, dürften die folgenden Vorschläge hilfreich sein: