in

Argumentos de la línea de comandos en Python

gfg 200x200 min

Los argumentos que se dan después del nombre del programa en el shell de la línea de comandos del sistema operativo se conocen como Argumentos de la línea de comandos. Python proporciona varias formas de lidiar con este tipo de argumentos. Los tres más comunes son:

Usando sys.argv

El módulo sys proporciona funciones y variables que se utilizan para manipular diferentes partes del entorno de ejecución de Python. Este módulo proporciona acceso a algunas variables utilizadas o mantenidas por el intérprete y a funciones que interactúan fuertemente con el intérprete.
Una de esas variables es sys.argv, que es una estructura de lista simple. Su propósito principal son:

  • Es una lista de argumentos de la línea de comandos.
  • len (sys.argv) proporciona el número de argumentos de la línea de comandos.
  • sys.argv[0] es el nombre del script Python actual.

Ejemplo: Supongamos que hay una secuencia de comandos de Python para sumar dos números y los números se pasan como argumentos de línea de comandos.

Python3

import sys

n = len(sys.argv)

print("Total arguments passed:", n)

print("nName of Python script:", sys.argv[0])

print("nArguments passed:", end = " ")

for i in range(1, n):

    print(sys.argv[i], end = " ")

    

Sum = 0

for i in range(1, n):

    Sum += int(sys.argv[i])

    

print("nnResult:", Sum)

Producción:

argumentos-de-línea-de-comando-python

Usando el módulo getopt

Pitón módulo getopt es similar a la función getopt () de C. A diferencia del módulo sys, el módulo getopt extiende la separación de la cadena de entrada mediante la validación de parámetros. Permite opciones tanto cortas como largas, incluida una asignación de valor. Sin embargo, este módulo requiere el uso del módulo sys para procesar correctamente los datos de entrada. Para usar el módulo getopt, es necesario eliminar el primer elemento de la lista de argumentos de la línea de comandos.

Sintaxis: getopt.getopt (argumentos, opciones, [long_options])
Parámetros:
argumentos: Lista de argumentos a pasar.
opciones: Cadena de letras de opciones que el script desea reconocer. Las opciones que requieren un argumento deben ir seguidas de dos puntos (:).
opciones_largas: Lista de cadena con el nombre de opciones largas. Las opciones que requieren argumentos deben ir seguidas de un signo igual (=).
Tipo de devolución: Devuelve un valor que consta de dos elementos: el primero es una lista de pares (opción, valor). El segundo es la lista de argumentos de programa que quedan después de eliminar la lista de opciones.

Ejemplo:

Python3

import getopt, sys

argumentList = sys.argv[1:]

options = "hmo:"

long_options = ["Help", "My_file", "Output ="]

try:

    

    arguments, values = getopt.getopt(argumentList, options, long_options)

    

    

    for currentArgument, currentValue in arguments:

        if currentArgument in ("-h", "--Help"):

            print ("Displaying Help")

            

        elif currentArgument in ("-m", "--My_file"):

            print ("Displaying file_name:", sys.argv[0])

            

        elif currentArgument in ("-o", "--Output"):

            print (("Enabling special output mode (% s)") % (currentValue))

            

except getopt.error as err:

    

    print (str(err))

Producción:

argumentos-de-línea-de-comandos-de-python

Usando el módulo argparse

Usar el módulo argparse es una mejor opción que las dos opciones anteriores, ya que proporciona muchas opciones, como argumentos posicionales, valor predeterminado para argumentos, mensaje de ayuda, especificar el tipo de datos del argumento, etc.

Nota: Como argumento opcional predeterminado, incluye -h, junto con su versión larga –help.

Ejemplo 1: Uso básico del módulo argparse.

Python3

import argparse

parser = argparse.ArgumentParser()

parser.parse_args()

Producción:

argumentos-de-línea-de-comando-python

Ejemplo 2: Añadiendo descripción al mensaje de ayuda.

Python3

import argparse

msg = "Adding description"

parser = argparse.ArgumentParser(description = msg)

parser.parse_args()

Producción:

argumentos-de-línea-de-comando-python

Ejemplo 3: Definición de valor opcional

Python3

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("-o", "--Output", help = "Show Output")

args = parser.parse_args()

if args.Output:

    print("Displaying Output as: % s" % args.Output)

Producción:

argumentos-de-línea-de-comandos-de-python

¡Atención geek! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende los conceptos básicos.

Para empezar, los preparativos de su entrevista Mejore sus conceptos de estructuras de datos con el Python DS Curso. Y para comenzar con su viaje de aprendizaje automático, únase al Aprendizaje automático – Curso de nivel básico

Deja una respuesta

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

apple touch icon@2

número de fila: ¿por qué todavía hay un límite de fila en Microsoft Excel?

edit

Irlanda del Norte vs República de Irlanda – Diferencia y comparación