Analisando o argumento da linha de comando usando sys módulo
Os argumentos da linha de comando são armazenados em uma lista usando sys módulo. sys.argv é usado para ler os valores dos argumentos da linha de comando. O número total de argumentos da linha de comando pode ser contado usando len () função. O uso deste módulo é descrito na parte do artigo.
Exemplo 1: Lendo o número de argumentos e valores de argumento
Crie um arquivo com o seguinte script python. Aqui, os valores dos argumentos da linha de comando são armazenados na variável, argv como outras línguas. len () método conta o número total de argumentos passados no momento da execução do script. Os valores dos argumentos são impressos como uma matriz no final do script.
# Módulo de importação sysimport sys
# Imprime o número total de argumentos
print ('Total de argumentos:', len (sys.argv))
print ('Os valores do argumento são:', str (sys.argv))
Resultado:
O script acima é executado aqui usando quatro argumentos de linha de comando. O primeiro argumento é o nome do script e os outros são valores numéricos. A seguinte saída aparecerá após a execução do script.
Exemplo 2: Lendo valores de argumento usando o loop
No exemplo anterior, os valores dos argumentos são impressos como uma matriz. Crie um arquivo com o seguinte script para imprimir o tipo de variável de argumento e imprimir cada valor de argumento em cada linha usando o loop for.
# Módulo de importação sysimport sys
# Imprime o tipo da variável, sys.argv
imprimir (tipo (sys.argv))
# Imprime cada argumento da linha de comando em cada linha
print ('Os argumentos da linha de comando são:')
para eu no sistema.argv:
imprimir (i)
Resultado:
O script acima é executado fornecendo três argumentos com o nome do script. A seguinte saída aparecerá após a execução do script.
Analisando o argumento da linha de comando usando o módulo getopt
Getopt módulo é usado para analisar argumentos de linha de comando com as opções. getopt () método deste módulo é usado para ler os argumentos. Este método possui três argumentos. Os primeiros dois argumentos são obrigatórios e o último argumento é opcional. Os usos desses argumentos são fornecidos abaixo.
args: Ele contém o argumento obtido do argumento da linha de comando.
short_option: Pode ser qualquer letra que passe com o argumento.
long_option: É usado para definir opções longas com duas partes. Estes são o nome da opção e o valor da opção.
Sintaxe: getopt.getopt (args, short_option, [long_option])
Exemplo 3: Lendo valores de argumento usando opções getopt curtas
getopt módulo contém mais recursos do que sys módulo. O exemplo a seguir mostra como opções curtas podem ser usadas em getopt () método. argv variável irá armazenar os argumentos da linha de comando omitindo o nome do script. A seguir, duas opções são definidas no getopt () método que pode ser usado com o argumento em tempo de execução. Se ocorrer algum erro, uma mensagem de erro será exibida.
# Importar módulo getoptimport getopt
# Módulo de importação sys
import sys
# Armazenar variável de argumento omitindo o nome do script
argv = sys.argv [1:]
tentar:
# Defina as opções curtas de getopt
opções, args = getopt.getopt (argv, 'x: y:')
# imprime as opções e argumentos
imprimir (opções)
imprimir (args)
exceto getopt.GetoptError:
# Imprime a mensagem de erro se a opção errada for fornecida
imprimir ('A opção errada é fornecida')
# Terminar o script
sys.saída (2)
Resultado:
Execute o script sem nenhum argumento, argumentos com opções corretas e argumentos com a opção errada.
Exemplo 4: Lendo valores de argumento usando opções getopt curtas e longas
Este exemplo mostra como as opções curtas e longas podem ser usadas com os valores dos argumentos. Ele adicionará dois números quando '-uma' ou '-adicionar' será usado como uma opção e subtrair dois números quando '-s ' ou '-sub' será usado como uma opção no tempo de execução.
# Importar módulo getoptimport getopt
# Módulo de importação sys
import sys
# Variável de argumento de armazenamento omitindo o nome do script
argv = sys.argv [1:]
# Inicializar variável de resultado
resultado = 0
tentar:
# Defina as opções getopt short e long
opções, args = getopt.getopt (sys.argv [1:], 'a: s', ['adicionar =', 'sub ='])
# Leia cada opção usando o loop for
para opt, arg nas opções:
# Calcule a soma se a opção for -a ou --add
se optar por ('-a', '--adicionar'):
resultado = int (argv [1]) + int (argv [2])
# Calcule a tração solar se a opção for -s ou --sub
elif opt in ('-s', '--sub'):
resultado = int (argv [1]) - int (argv [2])
imprimir ('Resultado =', resultado)
exceto getopt.GetoptError:
# Imprime a mensagem de erro se a opção errada for fornecida
imprimir ('A opção errada é fornecida')
# Terminar o script
sys.saída (2)
Resultado:
Execute o script sem quaisquer argumentos e opções, argumentos com a opção '-a', argumentos com a opção '-s' e argumentos com a opção errada.
Analisando o argumento da linha de comando usando o módulo argparse
O módulo Argparse contém muitas opções para ler os argumentos da linha de comando. Valores de argumento padrão, o argumento com o tipo de dados, argumentos posicionais, mensagem de ajuda, etc. pode ser fornecido por este módulo.
Exemplo 5: leitura de argumentos de linha de comando usando argparse
O exemplo a seguir mostra o uso de argparse módulo para ler o argumento da linha de comando. Aqui, duas opções são definidas para a leitura de argumentos de linha de comando. Estes são '-n' ou '-name' e '-e' ou '-email'. Se o usuário fornecer qualquer argumento errado, ele mostrará um erro com uma mensagem de uso. Se o usuário fornecer opções corretas com os argumentos, ele exibirá os valores dos argumentos. se o usuário executar o script com a opção '-help' então será fornecida a mensagem necessária para executar o script.
# Importar módulo argparseimportar argparse
# Módulo de importação sys
import sys
# Declare a função para definir os argumentos da linha de comando
def readOptions (args = sys.argv [1:]):
parser = argparse.ArgumentParser (description = "As listas de comandos de análise.")
analisador.add_argument ("- n", "--name", help = "Digite seu nome.")
analisador.add_argument ("- e", "--email", help = "Digite seu e-mail.")
opts = parser.parse_args (args)
opções de retorno
# Chame a função para ler os valores dos argumentos
options = readOptions (sys.argv [1:])
imprimir (opções.nome)
imprimir (opções.o email)
Resultado:
Execute o script com a opção errada, opção correta e opção de ajuda.
Conclusão:
Várias maneiras de ler argumentos de linha de comando são explicadas neste tutorial usando três módulos Python. Espero que este tutorial ajude o codificador que deseja ler dados usando argumentos de linha de comando em python.
Assista ao vídeo do autor: aqui