Como Executar um Script Python na Linha de Comando?

Para executar um script Python na linha de comando, ele precisa estar gravado em um arquivo com a extensão “.py”. Abra o prompt de comando no Windows, ou o terminal no Linux/MacOS, e digite python <nome do arquivo>.py <lista de argumentos>.  Para que isso funcione, o interpretador Python precisa estar instalado na máquina e seu caminho deve estar configurado na variável PATH, fazendo com que o arquivo executável python esteja acessível a partir da linha de comando.

Veja um exemplo utilizando um script muito simples, que só imprime na tela a saudação “Bom dia!”.

print('Bom dia!')  #  O script só faz isso.Code language: Python (python)

Esse script está gravado no arquivo bomdia.py, no diretório corrente.

Para executar esse script, basta usar o comando abaixo. Se o script bomdia.py não estivesse no diretório corrente, você precisaria informar o caminho completo.

C:\scripts>python bomdia.py
Bom dia!Code language: PowerShell (powershell)
Como executar um script Python na linha de comando sem argumentos
Figura 1 – Como executar um script Python na linha de comando sem argumentos.

Agora imagine que o seu script tem que ler um nome passado como argumento e imprimir a saudação na tela com esse nome.

O script precisa ser modificado para receber esse argumento.

import sys

print(f'Bom dia, {sys.argv[1]}.')Code language: Python (python)

A execução é parecida com a do exemplo anterior, mas agora inclui o argumento usado na saudação.

C:\scripts>python bomdia.py Guilherme
Bom dia, Guilherme.Code language: PowerShell (powershell)
Como executar um script Python na linha de comando com argumentos
Figura 2 – Como executar um script Python na linha de comando com argumentos.

Quando você executa esse comando, o interpretador Python lê todas as linhas do seu script e compila o código encontrado para um formato intermediário, chamado bytecode.

O código é passado nesse formato para a Máquina Virtual Python (Python Virtual Machine) e é executado.

Viu como é fácil?

Essa é a maneira mais comum de executar um script Python na linha de comando, mas nesse post eu também mostro uma outra muito útil.

Na prática, é claro que você vai trabalhar com scripts muito mais complexos.

Mas não importa o tamanho ou a complexidade do script. Para que a execução funcione, o interpretador Python precisa estar instalado e a configuração do ambiente precisa estar correta.

Então, para você ter certeza de que vai conseguir executar o seu script Python, veja nas seções a seguir os detalhes da configuração do ambiente.

Como configurar o ambiente para rodar um script Python

Após a instalação do Python na máquina, é preciso que o arquivo executável python esteja no PATH, ou você não vai conseguir executar seus scripts.

Se você instalou o Python usando a distribuição Anaconda, não precisa se preocupar com essa configuração. Basta abrir o prompt Anaconda e já estará tudo configurado para executar o Python.

Para saber como instalar e usar o Python dessa maneira, dá uma olhada nesse post.

As instruções a seguir são para adicionar o caminho do executável python.exe ao PATH no sistema operacional Windows 10, mas os passos são bastante semelhantes para outras versões do Windows. Para realizar a mesma tarefa no Linux, siga as instruções específicas da sua distribuição.

  • Clique com o botão direito do mouse sobre o botão iniciar.
  • Selecione a opção “Sistema”.
  • Clique em “Informações do sistema”, do lado direito da tela, na parte de cima.
  • Na nova tela que for aberta, clique em “Configurações avançadas do sistema”.

Como alternativa a esses passos, pressione a tecla com o logotipo do Windows e digite “variáveis” na caixa de pesquisa. Selecione a opção “Editar as variáveis de ambiente do sistema”.

Editar as variáveis de ambiente do sistema
Figura 3 – Como editar as variáveis de ambiente do sistema.

Na janela “Propriedades do sistema”, clique no botão “Variáveis de ambiente”.

Janela Propriedades do sistema
Figura 4 – Janela Propriedades do sistema.

Edite a variável Path dentro das variáveis de usuário ou crie uma nova, caso não exista, e inclua o caminho para o executável Python.

Após concluir as alterações e clicar em “OK” para fechar todas as janelas, inicie uma nova sessão do prompt de comando, pressionando a tecla com o logotipo do Windows + “R” e digitando `cmd.

Na nova janela, digite python e confirme que o sistema agora consegue encontrar o arquivo executável do interpretador Python.

Interpretador Python
Figura 5 – Interpretador Python funcionando.

Como criar um script executável em Python

No Linux, é possível criar um script executável, usando uma sintaxe especial que informa o caminho para o interpretador Python dentro do arquivo de código.

Veja como ficaria o script bomdia.py usando essa sintaxe.

#!/usr/bin/env python
import sys
print(f'Bom dia, {sys.argv[1]}.')Code language: Python (python)

Essa primeira linha indica para o sistema operacional qual programa deve ser usado para executar o script.

A sintaxe usando #! é chamada de hashbang ou shebang e também funciona para diversos outros interpretadores de scripts, como Perl e Bash.

O caminho do programa informado nessa linha pode ser escrito de duas formas:

  1. #!/usr/bin/python – Esse é o caminho absoluto para o executável Python.
  2. #!/usr/bin/env python – O comando env é responsável por buscar o executável python no PATH. Essa opção é mais flexível, mas pode ser que o arquivo executável errado seja usado, se houver mais de uma versão do Python instalada na máquina.

Para o interpretador Python, essa linha é apenas um comentário normal.

Além de incluir essa sintaxe especial, para criar um arquivo executável no Linux, você precisa mudar as permissões de arquivo para incluir a opção de execução, usando o comando chmod +x bomdia.py.

Já no Windows, não existe o conceito de “arquivo texto executável” e essa sintaxe não faz diferença.

No entanto, o instalador associa no Registro do Windows os arquivos com extensão “.py” ao executável python.exe.

Dessa forma, é possível executar o script digitando apenas bomdia.py na linha de comando, ou dando um clique duplo sobre o arquivo no gerenciador de arquivos.

O único problema de usar esse procedimento é que uma nova janela do prompt de comando é aberta para a execução do script e é fechada quando a execução termina.

No caso do script bomdia.py, que não pausa para interagir com o usuário e só imprime uma saudação antes de terminar, o máximo que você vai ver é uma tela preta piscando na sua frente.

Mas e se você não quiser que a janela do terminal apareça?

Basta alterar a extensão do arquivo de script para “.pyw”. Isso indica para o Windows que o executável pythonw.exe deve ser usado. Ele funciona da mesma maneira que o python.exe, mas executa em segundo plano, sem abrir uma janela para o prompt de comando.

Conclusão

Assim como o Jupyter Lab, o interpretador Python é muito prático para testar instruções em modo interativo, mas um programa real com centenas ou milhares de linhas precisa ser gravado em um arquivo com a extensão “.py”.

Depois de ler esse post, você aprendeu a sintaxe para executar um script Python na linha de comando.

Além disso, conheceu uma forma útil de criar um script executável e entendeu a importância de ter a configuração correta do ambiente de execução.

Agora você já pode criar e executar programas complexos em Python e ter maior produtividade sem depender de ferramentas de desenvolvimento.

E não esqueça de comentar aqui embaixo e dizer como eu posso melhorar esse post!

Guilherme Brügger D Amato - Audiência Pública na Comissão Senado do Futuro

Guilherme Brügger D’Amato é servidor concursado de TI na Câmara dos Deputados, onde ocupou o cargo de Diretor de Informática entre 2015 e 2016. Com mais de 26 anos de experiência como programador e executivo de TI, já desenvolveu sites e sistemas usados por dezenas de milhões de pessoas. Conecte-se com ele no LinkedIn ou no Instagram.

Deixe um comentário