2013-05-14 2 views
0

При создании пакета Python мне предлагается создать пустой файл с именем init .py. Я не понимаю, почему мне нужно создать этот файл. Сценарий сборки distutils не изменяет его, поэтому пять сборок позже остаются пустыми. Какова цель?В чем заключается цель __init__.py?

+4

Вы действительно должны хотя бы взглянуть на учебник, когда вы что-то не понимаете. Это по какой-то причине. – abarnert

+0

@abarnert - Учебник, который я использовал (http://guide.python-distribute.org/quickstart.html), не упомянул о том, для чего он нужен, просто для его создания. – Nathan2055

+3

Этот учебник предназначен для настройки ваших пакетов для совместного использования с другими людьми. Он более или менее предполагает, что вы уже понимаете, как пакеты работают на базовом уровне. –

ответ

5

Это сигнал Python, что папка представляет собой пакет, а не только папку. Он также содержит код инициализации, который запускается, когда пакет равен import ed в скрипт.

См. the docs on the subject для получения дополнительной информации. Наиболее актуальный экстракт:

В __init__.py файлы необходимы, чтобы Python лечить каталоги как содержащие пакеты; это делается для предотвращения каталогов с общим именем, например string, из непреднамеренно , скрывающих действующие модули, которые появляются позже на пути поиска модуля. В простейшим случаем, __init__.py может быть просто пустым файлом, но он может также выполнить код инициализации для пакета или установить переменную __all__ , описанную ниже.

Смежные вопросы