0Pricing
Python Academy · Leçon

Les bases d’argparse

Analyser les arguments de la ligne de commande

Les bases d’argparse est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Pourquoi argparse ?

Le module argparse (bibliothèque standard) permet de créer des interfaces en ligne de commande conviviales. Il analyse les arguments, valide leurs types et génère automatiquement le texte d'aide.

import argparse

parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)

Créer un analyseur

Commencez par créer un ArgumentParser. La description apparaît dans l'aide générée automatiquement.

import argparse

parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')

Arguments positionnels

add_argument('name') définit un argument positionnel obligatoire. Nous transmettons ici une liste à parse_args afin qu'il s'exécute sans véritable ligne de commande.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)

Arguments facultatifs

Les noms commençant par -- correspondent à des options facultatives. Fournissez une default pour le cas où l'utilisateur ne les indique pas.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--greeting', default='Hi')
args = parser.parse_args(['--greeting', 'Hey'])
print(args.greeting)
print(parser.parse_args([]).greeting)

Arguments typés

Utilisez type=int (ou un nombre à virgule, par exemple) pour qu'argparse convertisse et valide la valeur. Une entrée incorrecte produit une erreur claire.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)

Options booléennes

action='store_true' crée une option désactivée par défaut et activée lorsqu'elle est présente, ce qui convient parfaitement aux options telles que --verbose.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)

Noms courts et longs

Donnez à un argument une forme courte et une forme longue, comme -n et --name. Les deux définissent le même attribut.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)

Choix

Limitez les valeurs autorisées avec choices. argparse rejette toute valeur qui ne figure pas dans la liste.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)

Plusieurs valeurs avec nargs

nargs='+' rassemble une ou plusieurs valeurs dans une liste, ce qui est idéal pour accepter plusieurs entrées à la fois.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)

Options obligatoires et aide

Ajoutez required=True pour rendre une option facultative obligatoire, et help= pour la documenter dans l'écran d'utilisation généré.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--id', required=True, type=int, help='record id')
args = parser.parse_args(['--id', '7'])
print('id is', args.id)

Un petit outil complet

En réunissant ces éléments — une entrée positionnelle, une option typée et une option — vous obtenez une petite CLI bien réelle.

import argparse

parser = argparse.ArgumentParser(description='Repeat a message')
parser.add_argument('message')
parser.add_argument('--times', type=int, default=1)
parser.add_argument('--shout', action='store_true')
args = parser.parse_args(['hello', '--times', '2', '--shout'])
text = args.message.upper() if args.shout else args.message
for _ in range(args.times):
    print(text)

Vérification rapide

Vérifiez votre compréhension de argparse.

Récapitulatif

Vous avez appris les bases d'argparse :

  • ArgumentParser avec des arguments positionnels et des arguments --optional.
  • type, default, choices et required valident les entrées.
  • action='store_true' pour les options ; nargs pour les listes.
  • Le texte d'aide est généré automatiquement.

Suite : les sous-commandes et une gestion plus riche des options.

Questions Fréquemment Posées

La leçon « Les bases d’argparse » est-elle gratuite ?

Oui — le texte complet de « Les bases d’argparse » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Les bases d’argparse » ?

Analyser les arguments de la ligne de commande Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Les bases d’argparse » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les bases d’argparse
  2. Sous-commandes et options
  3. La bibliothèque Click
  4. Sortie riche dans le terminal
← Retour à Python Academy