Os argumentos da Linha de Comando de Comando foi anteriormente incluída na Biblioteca Python padrão “Argparse”. Ao permitir que os valores de entrada do usuário sejam de alguma forma analisados e depois usados, "argparse". Oferece flexibilidade e reutiliza seu código no lugar de definir manualmente variáveis como parte do código.
Exemplo 1
Implementaremos o código seguinte para mostrar a estrutura e o uso de uma biblioteca Argparse.
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('-nome', type = str, requerir = true)
args = analisador.parse_args ()
print ('oi', args.nome)
A biblioteca "argparse" seria importada no início do código. O analisador é inicializado pelo ArgumentParser (), para que possamos começar a adicionar parâmetros personalizados. Use o analisador.função add_argument () para adicionar argumentos desejados. O "nome", "tipo" e "necessário" serão dados como os argumentos deste método. O atributo 'exigido' é um booleano indicando se o seguinte campo de linha de comando é executado e o argumento "tipo" mostra o tipo de variável especificado como uma entrada. Definimos o valor do argumento "tipo" como "str" e "necessário" como "verdadeiro". A função parse_args () será chamada. Os “args.Nome ”o atributo parece ser o nome de um argumento identificado com a função add_argument ().
O código anterior produz esse tipo de resultado, como mostrado:
Como podemos ver, isso levantará um erro, já que o argumento do "nome" é necessário, mas está faltando. Quando adicionamos -name, obtemos a seguinte saída:
Exemplo 2
Existem certas situações em que não queremos discutir sobre o nome que pode ser usado para a bandeira. Pode -se utilizar um parâmetro posicional para evitar ter que fornecer a bandeira -name antes de inserir o valor real.
Aqui, multiplicaremos os argumentos posicionais especificando os parâmetros.
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('-i', type = int, requerir = true)
analisador.add_argument ('-j', type = int, requerir = true)
args = analisador.parse_args ()
Produto = args.eu * args.j
Imprimir ('Produto:', Produto)
O analisador foi gerado pela primeira vez depois de importar o módulo "argparse". As variáveis "eu" e "j", dois argumentos do tipo inteiro que devem ser verdadeiros, foram então adicionados. Depois disso, as fórmulas de produto serão aplicadas após analisar os parâmetros. Empregamos a função print () para exibir o produto.
Exemplo 3
Nesse caso, fazemos multiplicação sem especificar os parâmetros posicionais.
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('k', tipo = int)
analisador.add_argument ('l', tipo = int)
args = analisador.parse_args ()
Produto = args.K * args.eu
Imprimir ('Produto:', Produto)
Primeiro, integrando o pacote "ArgParse", o analisador foi inicialmente construído usando o método ArgumentParser (). Os "K" e "L" são os dois argumentos especificados com o tipo inteiro. Embora os argumentos posicionais mantenham uma linha de comando mais clara, não fornecemos o atributo "necessário" aqui. Posteriormente, os parâmetros fornecidos foram analisados com a ajuda do método parse_args (). Definiremos uma função de produto usando as variáveis "K" e "L". Para mostrar o resultado, utilizaremos a declaração de impressão.
Exemplo 4
Argumentos opcionais podem ser úteis sempre que queremos fornecer a um usuário alguma opção para usar a funcionalidade. Simplesmente especificamos o parâmetro opcional usando a função add_argument () para adicionar um argumento opcional.
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('-nome', type = str, requerir = true)
analisador.add_argument ('-classe', tipo = int)
args = analisador.parse_args ()
se args.Aula:
Imprimir (args.nome, 'in', args.Classe, 'classe.')
outro:
print ('hey', args.nome + '!')
Iniciamos o programa incorporando a biblioteca "argparse". Primeiro, estabelecemos um analisador usando o método ArgumentParser () para executar dois argumentos de analisador. Agora, chamaremos a função add_argument () para adicionar parâmetros diferentes. Esses argumentos incluem duas variáveis, nome e classe, onde o argumento do "nome" é do tipo "string", e deve ser verdadeiro. O parâmetro "classe" tem o tipo "inteiro".
Além disso, depois de analisar os parâmetros, utilizamos a condição "if-else". Dentro disso, estamos aplicando a função print () duas vezes, uma vez pela declaração "se" e novamente pela declaração "else", para representar a saída. Os argumentos em Print () métodos variam nesses dois casos. Os argumentos fornecidos na função Print Print () incluem nome e classe. Ao mesmo tempo, os argumentos apresentados no método Print () Print () incluem args.nome.
Depois de executar o código, obtemos as duas saídas, conforme dado abaixo. Temos a primeira saída depois de usar os argumentos opcionais e o segundo sem os argumentos opcionais.
Dos dois resultados anteriores, podemos observar que há uma diferença entre ambos os resultados devido ao uso dos argumentos opcionais em um e não no outro.
Exemplo 5
Vamos imaginar que, em vez de pedir ao usuário que forneça entradas "x" e "y", queremos que o usuário insira uma série de números e o script, o que retornaria o total de todos esses números. Como não podemos prever quantos valores um usuário entrará, não é necessário criar um novo argumento para cada novo valor. O número (ou entradas) que o argumento pode aceitar pode ser especificado usando a opção "NARGS" na função add_argument ().
Forneceremos vários argumentos de entrada e imprimiremos o resultado neste caso.
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('-valores', tipo = int, nargs = 5)
args = analisador.parse_args ()
soma = soma (args.valores)
Imprima ('soma:', soma)
Iniciamos importando a biblioteca "argparse", necessária para executar o código anterior. Criaremos um analisador chamando o método ArgumentParser (). Esta função não contém argumento. Em seguida, o método add_argument () será invocado. Este método tem três parâmetros. No caso de múltiplos argumentos de entrada, utilizamos o atributo "nargs" dentro do método add_argument (). Agora, chamaremos a função parse_args () para analisar. Aplicamos o método soma () para encontrar a soma dos valores. Para representar a saída, utilizamos a declaração de impressão.
Exemplo 6
E se queremos a soma de mais entradas do que cinco valores? Podemos fazer o argumento aceitar qualquer número de valores definindo NARGS = "+".
importar argparse
analisador = argparse.ArgumentParser ()
analisador.add_argument ('-valores', tipo = int, nargs = '+')
args = analisador.parse_args ()
soma = soma (args.valores)
Imprima ('soma:', soma)
Podemos executar o script com praticamente qualquer número de valores de entrada. Aqui, usamos o mesmo código do anterior, mas, neste código, estaremos mudando 'nargs' = 5 para 'nargs' = '+'.
Conclusão
Este artigo abordou uma variedade de técnicas de análise de linha de comando Python, como argumentos simples, argumentos posicionais, argumentos opcionais e vários argumentos de entrada. Ele também forneceu exemplos para ver como a saída muda, dependendo de um argumento ser usado ou não. Podemos utilizar exemplos para examinar e compreender se um argumento é apropriado em uma determinada circunstância.