0% ont trouvé ce document utile (0 vote)
3 vues1 page

Migration d'optparse vers argparse

Le document traite de la migration du code optparse vers argparse, mettant en avant les fonctionnalités supérieures d'argparse telles que la gestion des arguments positionnels et le support des sous-commandes. Il fournit des suggestions pratiques pour effectuer cette migration, y compris des remplacements spécifiques de méthodes et d'objets. Les développeurs sont également encouragés à examiner les différences comportementales avant de décider de migrer.

Transféré par

Adje EKLOU
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues1 page

Migration d'optparse vers argparse

Le document traite de la migration du code optparse vers argparse, mettant en avant les fonctionnalités supérieures d'argparse telles que la gestion des arguments positionnels et le support des sous-commandes. Il fournit des suggestions pratiques pour effectuer cette migration, y compris des remplacements spécifiques de méthodes et d'objets. Les développeurs sont également encouragés à examiner les différences comportementales avant de décider de migrer.

Transféré par

Adje EKLOU
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Migrating optparse code to argparse

Version 3.13.1

Guido van Rossum and the Python development team

janvier 03, 2025


Python Software Foundation
Email : docs@[Link]

Table des matières

The argparse module offers several higher level features not natively provided by the optparse module, including :
— gè re les arguments positionnels ;
— Supporting subcommands.
— permet d’utiliser les alternatives + ou / comme pré fixes d’option ;
— prend en charge la ré pé tition de valeurs (zé ro ou plus, un ou plus) ;
— fournit des messages d’aide plus complets ;
— fournit une interface plus simple pour les types et les actions personnalisé s.
Originally, the argparse module attempted to maintain compatibility with optparse. However, the fundamental
design differences between supporting declarative command line option processing (while leaving positional argu-
ment processing to application code), and supporting both named options and positional arguments in the declarative
interface mean that the API has diverged from that of optparse over time.
As described in choosing-an-argument-parser, applications that are currently using optparse and are happy with
the way it works can just continue to use optparse.
Application developers that are considering migrating should also review the list of intrinsic behavioural differences
described in that section before deciding whether or not migration is desirable.
For applications that do choose to migrate from optparse to argparse, the following suggestions should be helpful :
— remplacer tous les appels à [Link].add_option() par des appels à
ArgumentParser.add_argument() ;
— remplacer (options, args) = parser.parse_args() par args = parser.parse_args() et
ajouter des appels à ArgumentParser.add_argument() pour les arguments positionnels. Prenez note
que les valeurs pré cé demment appelé es options sont appelé es args dans le contexte d’argparse ;
— remplacer [Link].disable_interspersed_args() en appelant
parse_intermixed_args() plutô t que parse_args() ;
— remplacer les actions de rappel (callback actions en anglais) et les arguments nommé s callback_* par des
arguments type et actions ;
— remplacer les chaînes repré sentant le nom des types pour l’argument nommé type par les objets types cor-
respondants (par exemple : int, float, complex, etc) ;
— remplacer [Link] par Namespace ; et [Link] et optparse.
OptionValueError par ArgumentError ;
— remplacer les chaînes avec des arguments de formatage implicite (tels que %default ou %prog) par la
syntaxe standard de Python pour l’interpolation d’un dictionnaire dans les chaînes de formatage (c’est-à -dire
%(default)s et %(prog)s) ;
— remplacer l’argument version du constructeur d’OptionParser par un appel à parser.
add_argument('--version', action='version', version='<la version>').

Vous aimerez peut-être aussi