O Python compila os arquivos .py e os salva como arquivos .pyc, para poder referenciá-los em invocações subsequentes. O .pyc contém o código de código compilado dos arquivos de origem Python, que é o que o interpretador Python compila a fonte. Esse código é então executado pela máquina virtual do Python. Não há mal em excluí-los (.pyc), mas eles economizarão tempo de compilação se você estiver processando muito.
Python é uma linguagem interpretada, em oposição a uma linguagem compilada, embora a distinção possa ser imprecisa devido à presença do compilador de bytecodes. Compilar geralmente significa converter em código de máquina, que é o que roda mais rápido. Mas os intérpretes pegam o texto legível por humanos e o executam. Eles podem fazer isso com um estágio intermediário.
Por exemplo, quando você executa o arquivo de origem myprog.py, o interpretador python primeiro verifica se myprog.pyc
existe algum (que é a versão compilada pelo código de bytes myprog.py
) e se é tão recente ou mais recente que myprog.py
. Nesse caso, o intérprete o executa. Se ele não existir, ou myprog.py
for mais recente que ele (o que significa que você alterou o arquivo de origem), o intérprete primeiro compila myprog.py
para myprog.pyc
.
Há uma exceção no exemplo acima. Se você colocar #! /usr/bin/env python
a primeira linha de myprog.py
, torne-o executável e execute myprog.py
por si só.