Entrada do usuário e argumentos de linha de comando

Como eu tenho um script Python que a) pode aceitar a entrada do usuário e como eu faço para b) ler em argumentos se executado a partir da linha de comando?

Solução

Para ler a entrada do usuário você pode tentar o módulo cmd para criar facilmente um interpretador de linha mini-comando (com textos de ajuda e auto-completar) e raw_input (input para Python 3+) para ler uma linha de texto do usuário.

text = raw_input("prompt")  # Python 2
text = input("prompt")  # Python 3

As entradas da linha de comando estão em sys.argv. Tente isto no seu script:

import sys
print (sys.argv)

Existem dois módulos para a análise de opções de linha de comando: optparse (depreciado desde Python 2.7, use argparse em vez disso) e getopt. Se você só quer inserir arquivos no seu script, veja o poder de fileinput.

A referência da biblioteca Python é sua amiga.

Comentários (3)
var = raw_input("Please enter something: ")
print "you entered", var

Ou para Python 3:

var = input("Please enter something: ")
print("You entered: " + var)
Comentários (2)

A melhor maneira de processar argumentos de linha de comando é o módulo argparse.

Utilize raw_input() para obter a entrada do usuário. Se você importar o módulo de linha de leitura seus usuários terão edição de linha e histórico.

Comentários (2)