argumentos de linha de comando Python
argumentos de linha de comando Python
Python fornece módulogetopt para obter os argumentos da linha de comando.
$ python test.py arg1 arg2 arg3
Python também pode ser usadono sys.argvSYS para obter os argumentos de linha de comando:
sys.argv é uma lista de parâmetros de linha de comando.
len (sys.argv) é o número de argumentos de linha de comando.
NOTA: sys.argv [0] indica o nome do script.
Exemplos
código de arquivo test.py é a seguinte:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys print '参数个数为:', len(sys.argv), '个参数。' print '参数列表:', str(sys.argv)
Implementação do código acima, a saída é:
$ python test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
módulo getopt
módulo getopt é módulo de processamento dedicado linha de comando parâmetros utilizados para obter as opções de linha de comando e parâmetros, é sys.argv. opção de linha de comando faz com que o programa de parâmetros mais flexíveis. Suporta o modo de opção curta (-) e opções longas modo de (-).
O módulo fornece dois métodos e um manipulador de exceção para analisar os argumentos da linha de comando.
método getopt.getopt
métodos getopt.getopt para a análise de linha de comando lista de parâmetros sintaxe é a seguinte:
getopt.getopt(args, options[, long_options])
parâmetros de método:
args: Para analisar a lista de argumentos de linha de comando.
opções: para definir a seqüência de formato, as opçõesde dois pontos após (:) indica que esta opção deve ter os parâmetros adicionais, sem os dois pontos indica que esta opção não é parâmetros adicionais.
long_options: definir o formato da lista,long_options após o sinal de igual (=) disse que, se esta opção for definida, deve haver parâmetros adicionais, ou parâmetros não adicionais.
Esse método retorna um valor consiste em dois elementos: o primeiro é o(opção, Valor) tuplas.A segunda é uma lista de parâmetros, incluindo aqueles que não o fazem - ou '-' parâmetro ''.
Outro método é getopt.gnu_getopt, não há muito a fazer aqui descrito.
getopt.GetoptError exceção
não é encontrado na lista de parâmetros ou opções de parâmetro desejado aciona a exceção é vazio.
argumento de exceção é uma cadeia que representa o erro. opções relacionadas mensagem de erro eopt para o atributo msg.
Exemplos
Suponha que criar um script, você pode passar duas linhas para o comando nome do arquivo arquivo de script, enquanto nós usamos uma outra opção para visualizar o script. Use o seguinte script:
usage: test.py -i <inputfile> -o <outputfile>
código de arquivo test.py é a seguinte:
#!/usr/bin/python # -*- coding: UTF-8 -*- 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:])
Implementação do código acima, a saída é:
$ python test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile