Parámetros de línea de comandos python3
Parámetros de línea de comandos python3
Python proporciona módulogetopt para obtener argumentos de la línea de comandos.
$ python test.py arg1 arg2 arg3
Python también se puede utilizar enel sys.argvsys para obtener argumentos de línea de comando:
sys.argv es una lista de parámetros de línea de comandos.
len (sys.argv) es el número de argumentos de línea de comandos.
NOTA: sys.argv [0] indica el nombre del script.
Ejemplos
código de archivo test.py es el siguiente:
#!/usr/bin/python3 import sys print ('参数个数为:', len(sys.argv), '个参数。') print ('参数列表:', str(sys.argv))
Aplicación del código anterior, la salida es:
$ python3 test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
módulo getopt
módulo getopt es parámetros de línea de comandos del módulo de procesamiento dedicado utilizados para obtener las opciones de línea de comandos y parámetros, es sys.argv. opción de línea de comandos hace que el programa parámetros más flexibles. Soportar el modo de opción corta (-) y las opciones de modo de largos (-).
El módulo proporciona dos métodos y un controlador de excepciones para analizar los argumentos de línea de comandos.
método getopt.getopt
getopt.getopt métodos para el análisis de línea de comandos de sintaxis lista de parámetros es el siguiente:
getopt.getopt(args, options[, long_options])
Los parámetros del método:
args: Para analizar la lista de argumentos de línea de comandos.
Opciones: para definir la cadena de formato, las opcionesde colon después (:) indica que esta opción debe tener los parámetros adicionales, sin los dos puntos indica que esta opción no está parámetros adicionales.
long_options: definir el formato de la lista,long_options después del signo igual (=) dijeron que si se establece esta opción, debe haber parámetros adicionales, o parámetros adicionales no.
Este método devuelve un valor consta de dos elementos: el primero es elvalor (opcional), tuplas.La segunda es una lista de parámetros, incluyendo aquellos que no lo hacen - o '-' parámetro ''.
Otro método es getopt.gnu_getopt, no hay mucho que hacer aquí descrito.
getopt.GetoptError excepción
no se encuentra en la lista de parámetros u opciones parámetro deseado desencadena la excepción está vacía.
argumento de excepción es una cadena que representa el error. Mensaje de error opciones relacionadas yoptar por el atributo msg.
Ejemplos
Supongamos que creamos una secuencia de comandos, puede pasar dos líneas para el comando de nombre de archivo archivo de secuencia de comandos, mientras que utilizamos otra opción para ver la secuencia de comandos. Utilice la siguiente secuencia de comandos:
usage: test.py -i <inputfile> -o <outputfile>
código de archivo test.py es el siguiente:
#!/usr/bin/python3 import sys, getopt def main(argv): inputfile = '' outputfile = '' try: opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) except getopt.GetoptError: print ('test.py -i <inputfile> -o <outputfile>') sys.exit(2) for opt, arg in opts: if opt == '-h': print ('test.py -i <inputfile> -o <outputfile>') sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print ('输入的文件为:', inputfile) print ('输出的文件为:', outputfile) if __name__ == "__main__": main(sys.argv[1:])
Aplicación del código anterior, la salida es:
$ python3 test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python3 test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile