Python компилирует файлы .py и сохраняет их как файлы .pyc, чтобы он мог ссылаться на них в последующих вызовах. .Pyc содержит скомпилированный байт-код исходных файлов Python, к которому интерпретатор Python компилирует исходный код. Этот код затем выполняется виртуальной машиной Python. Нет ничего плохого в их удалении (.pyc), но они сэкономят время компиляции, если вы выполняете много обработки.
Python является интерпретируемым языком, в отличие от скомпилированного, хотя различие может быть размытым из-за присутствия компилятора байт-кода. Компиляция обычно означает преобразование в машинный код, который работает быстрее всего. Но переводчики берут текст, читаемый человеком, и исполняют его. Они могут сделать это на промежуточной стадии.
Например, когда вы запускаете исходный файл myprog.py, интерпретатор python сначала проверяет, myprog.pyc
существует ли какой-либо объект (это версия скомпилированного байт-кода myprog.py
), и является ли он более поздним или более поздним, чем myprog.py
. Если это так, переводчик запускает его. Если он не существует или myprog.py
более поздний, чем он (имеется в виду, что вы изменили исходный файл), интерпретатор сначала компилируетmyprog.py
вmyprog.pyc
.
Из приведенного выше примера есть одно исключение. Если вы поместите #! /usr/bin/env python
в первую строку myprog.py
, сделайте его исполняемым, а затем запустите myprog.py
его самостоятельно.