Argumentos da Linha de Comando em Python

Os argumentos da linha de comando em 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 configurar algumas opções específicas para o programa.

Argumentos de Linha de Comando em Python

Existem muitas opções para ler os argumentos de linha de comando em 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 analisar um programa simples para aprender como ler e usar os argumentos de linha de comando em 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 de linha de comando como String. Vamos dar uma olhada em um exemplo simples para ler e imprimir os argumentos de 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, a imagem ilustra a saída de uma execução de exemplo do programa acima. Existem muitas outras funções úteis no módulo sys, leia-as detalhadamente em python sys module.

Python getopt module

O módulo getopt do Python é muito semelhante em funcionamento à função C getopt() para análise de parâmetros da linha de comando. O módulo getopt do Python é útil na análise de argumentos da linha de comando em que desejamos 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 exemplo. Para saber mais, leia python getopt module.

Módulo argparse do Python

O módulo argparse do Python é a maneira preferida de analisar argumentos de linha de comando. Ele fornece 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 rápida execução do script acima. O módulo argparse do Python fornece muitos recursos, você deve ler sobre eles no tutorial de argparse do Python para entender claramente. Isso é tudo sobre diferentes opções para ler e analisar argumentos de linha de comando em Python, você deve decidir qual é o mais adequado para seus requisitos específicos e então usá-lo. Referências:

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