Como leer los argumentos de proceso / línea de comandos en Python?

Aquí, vamos a aprender cómo leer argumentos de proceso / línea de comandos en lenguaje de programación Python?

La forma oficial de la lectura o el procesamiento de los argumentos de línea de comandos es mediante el uso de la argparse de ArgumentParser módulo .

El argparse módulo permite está implementando las interfaces de línea de comandos fáciles de usar. El programa define los argumentos que requiere, y argparse será determinar cómo analizar los fuera de la sys.argv ? El argparse también genera los mensajes y temas de ayuda y de uso de errores cuando los usuarios le dan al programa de argumentos no válidos.

Ejemplo:

import argparse
parser = argparse.ArgumentParser(description='Process the numbers')
parser.add_argument('integers',metavar='N', type=int, nargs='+', help='an integer for addition')
parser.add_argument('--sum',dest='addition', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.addition(args.integers))

Suponiendo, hemos ahorrado el método anterior en un archivo como ‘argparse_example.py’, que se puede ejecutar en la línea de comandos y proporcionar mensajes útiles.

class 1: ejecutar el método sin pasar los argumentos

    python argparse_example.py 
usage: argparse_example.py [-h] [--sum] N [N ...]
argparse_example.py: error: the following arguments are required: N

class 2: Ejecutar el método de pasar la -h como argumento

    python argparse_example.py -h
usage: argparse_example.py [-h] [--sum] N [N ...]
Process the numbers
positional arguments:
N an integer for addition
optional arguments:
-h, --help show this help message and exit
--sum sum the integers (default: find the max)

class 3: Ejecutar el método pasa a los números ( retornos máximo de lista de números)

    python argparse_example.py 1 2 3 4
4

class 4: Ejecutar el método de pasar el argumento -sum como un argumento, junto con la lista de números de

    python argparse_example.py 1 2 3 4 --sum
10


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *