Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2012 03:10:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

if __name__ == "__main__" :

:) тренируюсь в художественном переложении легенды

Любой файл с программой на питоне (*.py,*.pyw…) подобен двуликому Янусу, может быть или выполнен или импортирован. Это удобно, поскольку небольшие shell команды легко собрать во чтото монстрообразное.
Файл выполняется в ответ на вызов операционной системой python a.py, это случается например при клике питоновского файла.
Файл импортируется если во время выполнения (например при вызове python b.py) в тексте b.py встретится команда импорта (например import a)
При вызове и при импорте питон определяет глобальную переменную __name__, но определят по разному. Поэтому эти случаи можно различить.
Создайте файл a.py импортирующий сам себя, запустите его, и все увидите. (Это не вирус).

print "any"
if __name__ == '__main__':
print "main",__name__
import a
else:
print "import",__name__



Отредактировано (Март 23, 2012 03:15:37)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version