Executando arquivo Python no terminal

47

Tentando aprender a executar meus scripts através do terminal do Ubuntu regularmente. Dito isto, estou familiarizado com bash, wgete awksendo chamado, mas como chamo arquivos python para executar no terminal? Gostaria de aprender isso, mas não tenho certeza de onde pesquisá-lo. Eu tenho um .pywarquivo que faz referência a vários .pyarquivos em uma pasta.

DᴀʀᴛʜVᴀᴅᴇʀ
fonte
Caso diferencial no seguinte, porque o título original é muito geral, incluindo ele - sobre a execução de script python no terminal para chamar uma função stackoverflow.com/q/25837063/54964
Léo Léopold Hertz

Respostas:

81

Opção 1: Ligue para o intérprete

  • Para Python 2: python <filename>.py
  • Para Python 3: python3 <filename>.py

Opção 2: deixe o script chamar o intérprete

  1. Verifique se a primeira linha do seu arquivo possui #!/usr/bin/env python.
  2. Torne executável - chmod +x <filename>.py.
  3. E execute-o como ./<filename>.py
abhshkdz
fonte
qual é o motivo, quando eu quero executar meu .py, ele funciona apenas com a opção 1 do método e o segundo gera um erro de sintaxe?
Krsztr
e se você deseja abrir um novo arquivo python?
asmgx 23/03
8

Apenas prefixe o nome do arquivo do script python. Por exemplo:

python filename.py
Winston Ewert
fonte
5

Também vale a pena mencionar que, ao adicionar um -isinalizador depois python, você pode manter sua sessão em execução para codificação adicional. Como isso:

python -i <file_name.py>
keyan3d
fonte
3
python <filename.py>

pyw deve funcionar da mesma maneira, eu acho. Você também pode iniciar um console interativo com apenas

python

Além disso, você pode evitar ter que chamar explicitamente o python adicionando um shebang na parte superior do script:

#!/usr/bin/env python

... ou qualquer número de variações

IlluminAce
fonte
2

Primeira execução após o comando

chmod +x <filename>.py

Em seguida, na parte superior do script, adicione #!e o caminho do interpretador Python:

#!/usr/bin/python

Se você deseja que o script seja independente de onde o intérprete Python mora, você pode usar o envprograma. Quase todas as variantes do Unix suportam o seguinte, supondo que o interpretador Python esteja em um diretório no usuário $PATH:

#! /usr/bin/env python
Shanaka
fonte
0

Altere os diretórios usando cdo diretório que contém o .py e execute um dos dois comandos a seguir:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

Como alternativa, execute um dos dois comandos a seguir:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 
karel
fonte
-2

Tente usar o comando em python3vez de python. Se o script foi escrito em Python3 e você tenta executá-lo com Python2, você pode ter problemas. Ubuntu tem ambos; alterar o nome do programa para python3(em vez de substituir python) tornou isso possível. O Ubuntu precisa da versão 2.7 (a partir de 16/2/2017), para não excluir ou remover o Python2, mas mantenha os dois. Crie o hábito de usar o Python3 para executar scripts, que também podem ser executados.

Tony
fonte
1
-1 O Python 3 não pode executar scripts do Python 2 (com poucas exceções).
Wjandrea
Meu mal, você está certo. Provavelmente é por isso que o Ubuntu ainda usa python 2. Desculpe wjandrea, obrigado por me corrigir.
1877 Tony