Одним из преимуществ использования функции main
является то, что она позволяет легко повторно использовать код:
import sys
import script
script.main(sys.argv[1:])
# or, e.g. script.main(['-v', 'file.txt']), etc
Любой код в блоке __main__
скрипта не будет выполняться, если он будет импортированкак модуль.Таким образом, функция main
действует как простой интерфейс, предоставляющий доступ ко всем обычным функциям скрипта.Блок __main__
обычно будет содержать всего один вызов main
плюс любой другой несущественный код (например, тесты).
Некоторые советы от автора Python о том, как написать хорошийmain
функция может быть найдена здесь .