2015-01-01 4 views
1

Я только начинаю программировать на python, и я заметил, что после запуска моего сценария python python text.py несколько раз создаются файлы .pyc. Я понимаю .pyc создаются только в том случае, если импортировано, но как text.py все еще выполняется из командной строки, если нет .pyc-файла?Не может найти файлы .pyc?

+0

Файлы '.pyc' не являются строго необходимыми, они предназначены только для ускорения запуска кода Python. Вы также можете запускать код Python без файлов '.pyc'. –

+3

Когда скрипт запускается напрямую, байт-код создается в памяти, но никогда не записывается в файл '.pyc'. – Rufflewind

+0

@SimeonVisser, как python запускает .py-код, если он не в байт-код? Код должен быть понятным для виртуальной машины python. Спасибо за ответ, хотя – Rickx

ответ

1

Чтобы расширить ответ на вопрос Rufflewind: обоснование не написания сценария .py для запуска является двояким. Во-первых, когда файлы разрабатываются, запись .pyc-файла тратит время запуска, когда файл будет проигнорирован при следующем запуске. Во-вторых, если сценарий достаточно велик, что скорость компиляции заметна и может иметь значение, стабильный код может и, возможно, должен быть перемещен в импортированный модуль. Действительно, для использования в производстве стандартная практика сводит сценарий запуска к двум операторам - вызову import и main(), как в idlelib.__main__.

"" 
IDLE main entry point 
Run IDLE as python -m idlelib 
""" 
import idlelib.PyShell 
idlelib.PyShell.main() 
Смежные вопросы