Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Básico sobre linha de comando e args
  2. Calculadora em linha de comando
  3. Biblioteca nativa ou terceito

A linguagem Python nos permite manipular os dados informados, por um usuário de nossos programas, através de linhas de comando. Por exemplo, uma programa para realizar operações aritméticas, básicas, podemos receber argumentos como abaixo:

Sintaxe
python nome_programa.py 1 2 +
Onde:
nome_programa : script python
1, 2 + : argumentos passado pela linha de comando separados por espaço

Para que possamos utilizar a linha de comando em Python, precisamos importar o módulo sys que possui as recursos necessários para manipulação dos argumentos.

Sintaxe
import sys

Para recuperarmos os número de argumentos e seus valores passados na linha de comando, utilizamos a propriedade argv que um vetor/array em que os argumentos são armazenados.

Sintaxe
sys.argv
Exemplo 1
import sys

print("Num. argumentos:",len(sys.argv),"\n")
print("Argumentos:")

for idx in range(len(sys.argv)):
    print("indice:",idx,":",sys.argv[idx])
Entrada
python main.py 1 2 3
Saída
Num. argumentos: 4 

Argumentos:
indice: 0 : main.py
indice: 1 : 1
indice: 2 : 2
indice: 3 : 3

Os comandos de Python: Comandos de Decisão, Python: Comandos de Repetição e outros devem ser utilizados para trabalhar com a linhas de comando de acordo com a necessidade de nossos programas.

As conversões vistas em Python: Cast e Conversão e os métodos da classe Python: Strings também devem utilizadas para lidar com os argumentos.

Para exemplificar melhor o uso de linha de comando na linguagem Python, vamos criar uma simples calculadora aritmética de inteiros. Vamos utilizar o exemplo criado anteriormente e adaptá-lo para utilização de argumentos passados pela linha de comando.

A sintaxe será bem simples, sendo dois argumentos representando dois números que queremos realizar uma operação e um último argumento que vai informar qual a operação queremos realizar.

Sintaxe linha de comando
python main.py operando1 operando2 operacao
Exemplos
python main.py 4 2 +
python main.py 4 2 x
python main.py 4 2 /
python main.py 4 2 -
Exemplo 2
#main.py
import sys

if len(sys.argv) == 4:
    #testes antes da conversão devem ser feitos
    opr1 = int(sys.argv[1]) #operando1
    opr2 = int(sys.argv[2]) #operando2
    op = sys.argv[3]        #operação
    
    print("operando 1:",opr1)
    print("operando 2:",opr2)
    print("operação:",op)
    
    if op == '+':
        print(opr1+opr2)
    elif op == '-':
        print(opr1-opr2)
    elif op == 'x':
        print(opr1*opr2)
    elif op == '/':
        print(opr1*opr2)
    else:
        print("operação:",sys.argv[3],"inválida")

else:
    print("Uso:\npython main.py operando1 operando2 operacao")
Entrada
python main.py 10 20 + 
Saída
operando 1: 10
operando 2: 20
operação: +
30

É importante lembrar que o exemplo acima possui apenas as validações e conversões básicas. Para linhas de comando e funcionalidades mais complexas, as bibliotecas nativas e de terceiros devem ser utilizadas.

  1. 18/09/2024 - revisão 1 - Ajustes gramaticais e outros ajustes
  2. 15/02/2024 - versão inicial