Pasar lista como argumento de línea de comando en Python

Los argumentos que se dan después del nombre del programa en el shell de línea de comandos del sistema operativo se conocen como argumentos de línea de comandos . Python proporciona varias formas de lidiar con este tipo de argumentos. Uno de ellos es el sysmódulo.

Módulo de sistema

Un módulo es un archivo que contiene definiciones y declaraciones de Python. El módulo sys proporciona funciones y variables que se utilizan para manipular diferentes partes del entorno de tiempo de ejecución de Python. Este módulo proporciona acceso a algunas variables utilizadas o mantenidas por el intérprete ya funciones que interactúan fuertemente con el intérprete.

sys.argv

sys.argvse utiliza en python para recuperar argumentos de la línea de comandos en tiempo de ejecución. Para que un programa pueda usarlo, debe importarse desde el módulo «sys». Los argumentos así obtenidos tienen la forma de una array llamada sys.argv.

Nota: sys.argv[0] da el nombre del programa y los siguientes índices funcionan como miembros de una array.

Enfoque:
El nombre del programa es «cmdlist.py».

  1. Trabajando con la línea de comando: Considere el siguiente código escrito en cmdlis.py

    import sys
      
      
    print("the name of the program is ", sys.argv[0])
    print("argument list :", sys.argv)

    Producción:

    python-command-line

  2. Llamar a una lista usando la línea de comando

    import sys
      
      
    print ("the name of the program is ", sys.argv[0])
      
    a = sys.argv[1]
    print (a)

    Producción:

    python-command-line

  3. Trabajar con la lista llamada por línea de comando.
    sys.argv es una array de strings. Por lo tanto, cualquier argumento que se le pase es una string, por lo que para ponerlo en uso correctamente, debemos convertirlo en una forma de lista adecuada.
    • Programa para tomar la lista como argumento de la línea de comandos y convertirla en una forma de lista adecuada

      import sys
        
        
      print("the name of the program is ", sys.argv[0])
        
      n = len(sys.argv[1])
      a = sys.argv[1][1:n-1]
      a = a.split(', ')
        
      for i in a:
          print(i)

      Producción:
      python-command-line-argument

    • Programa para encontrar la suma de todos los miembros de la lista
      Además, manténgase en find para cambiar los miembros al tipo de datos requerido si no es una string.

      import sys
        
        
      print ("the name of the program is", sys.argv[0])
        
      n=len(sys.argv[1])
      a=sys.argv[1][1:n-1]
      a=a.split(',')
        
      A = [int(i) for i in a]
        
      b = 0
        
      for i in A:
          b += i
      print("sum of all the list members is ", b)

      Producción:

      python-command-line

  4. Trabajando con múltiples listas recuperadas a través de la línea de comando.

    import sys
      
      
    print ("the name of the program is ", sys.argv[0])
      
    n = len(sys.argv[1])
    a = sys.argv[1][1:n-1]
    a = a.split(', ')
      
    A = [int(i) for i in a]
    b = 0
      
    for i in A:
        b += i
    print("sum of all the list members is ", b)
      
    n = len(sys.argv[2])
    c = sys.argv[2][1:n-1]
    c = c.split(', ')
      
    d = ""
      
    for i in c:
        d = d+i
      
    print ("sum of all the list members is ", d)

    Producción:
    python-command-line

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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