Argumentos da Linha de Comando em Python

Os argumentos da linha de comando do Python são parâmetros de entrada passados para o script durante a execução. Quase todas as linguagens de programação oferecem suporte para argumentos de linha de comando. Além disso, temos opções de linha de comando para definir algumas opções específicas para o programa.

Argumentos da Linha de Comando do Python

Existem muitas opções para ler argumentos da linha de comando do Python. As três mais comuns são:

  1. Python sys.argv
  2. Módulo getopt do Python
  3. Módulo argparse do Python

Vamos dar uma olhada em um programa simples para aprender como ler e usar argumentos da linha de comando do Python.

Módulo sys do Python

O módulo sys do Python armazena os argumentos da linha de comando em uma lista, e podemos acessá-los usando sys.argv. Esta é uma maneira muito útil e simples de ler argumentos da linha de comando como string. Vamos dar uma olhada em um exemplo simples para ler e imprimir argumentos da linha de comando usando o módulo sys do Python.

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

Abaixo está a imagem que ilustra a saída de uma execução de amostra do programa acima. Existem muitas outras funções úteis no módulo sys, leia detalhes em módulo sys do Python.

módulo getopt do Python

O módulo getopt do Python é muito semelhante em funcionamento à função C getopt() para analisar parâmetros da linha de comando. O módulo getopt do Python é útil na análise de argumentos da linha de comando onde queremos que o usuário insira algumas opções também. Vamos ver um exemplo simples para entender isso.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # Imprima uma mensagem ou faça algo útil
    print('Something went wrong!')
    sys.exit(2)

O exemplo acima é muito simples, mas podemos facilmente estendê-lo para fazer várias coisas. Por exemplo, se a opção de ajuda for passada, imprima alguma mensagem amigável ao usuário e saia. Aqui, o módulo getopt analisará automaticamente o valor da opção e os mapeará. A imagem abaixo mostra uma execução de amostra. Para saber mais, leia módulo getopt do Python.

módulo argparse do Python

O módulo argparse do Python é a maneira preferida de analisar argumentos da linha de comando. Ele oferece muitas opções, como argumentos posicionais, valor padrão para argumentos, mensagem de ajuda, especificação do tipo de dado do argumento, etc. Na forma mais simples, podemos usá-lo como abaixo.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

Aqui está a saída da execução rápida do script acima. O módulo argparse do Python oferece muitos recursos, você deve ler sobre eles no tutorial de argparse do Python para entender claramente. Isso é tudo para diferentes opções de leitura e análise de argumentos da linha de comando em Python, você deve decidir qual é a mais adequada para seus requisitos específicos e então usá-la. Referências:

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments