Форум сайта python.su
:) тренируюсь в художественном переложении легенды
Любой файл с программой на питоне (*.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)
Офлайн