Conceptos básicos de argparse
Analice argumentos de la línea de comandos
Conceptos básicos de argparse es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
¿Por qué argparse?
El módulo argparse (de la biblioteca estándar) permite crear interfaces de línea de comandos fáciles de usar. Analiza argumentos, valida tipos y genera automáticamente el texto de ayuda.
import argparse
parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)Crear un analizador
Comience creando un ArgumentParser. La description aparece en la ayuda generada automáticamente.
import argparse
parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')Argumentos posicionales
add_argument('name') define un argumento posicional obligatorio. Aquí pasamos una lista a parse_args para que se ejecute sin una línea de comandos real.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)Argumentos opcionales
Los nombres que comienzan por -- son opciones opcionales. Proporcione un default para cuando el usuario no las especifique.
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)Argumentos tipados
Use type=int (o float, etc.) para que argparse convierta y valide el valor. Una entrada incorrecta produce un error claro.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)Opciones booleanas
action='store_true' crea una opción que es False de forma predeterminada y True cuando está presente, perfecta para opciones como --verbose.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)Nombres cortos y largos
Asigne a un argumento una forma corta y otra larga, como -n y --name. Ambas establecen el mismo atributo.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)Opciones permitidas
Restrinja los valores permitidos con choices. argparse rechaza cualquier valor que no esté en la lista.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)Varios valores con nargs
nargs='+' recopila uno o más valores en una lista, lo que resulta ideal para aceptar varias entradas a la vez.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)Opciones requeridas y ayuda
Añada required=True para hacer obligatoria una opción, y help= para documentarla en la pantalla de uso generada.
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)Una herramienta pequeña completa
Al combinar una entrada posicional, una opción tipada y una opción booleana se obtiene una CLI pequeña, pero real.
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)Comprobación rápida
Compruebe cuánto ha entendido de argparse.
Resumen
Ha aprendido los conceptos básicos de argparse:
ArgumentParsercon argumentos posicionales y argumentos--optional.type,default,choicesyrequiredvalidan la entrada.action='store_true'para opciones booleanas;nargspara listas.- El texto de ayuda se genera automáticamente.
Siguiente tema: subcomandos y una gestión más completa de las opciones.
Preguntas frecuentes
¿La lección «Conceptos básicos de argparse» es gratis?
Sí — el texto completo de «Conceptos básicos de argparse» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Conceptos básicos de argparse»?
Analice argumentos de la línea de comandos Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Conceptos básicos de argparse»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos de argparse
- Subcomandos y opciones
- La biblioteca Click
- Salida enriquecida del terminal