python пишем - Как определить, импортируется ли скрипт Python как модуль или запускается как скрипт?




1 Answers

из docs Python:

Когда вы запускаете модуль Python с

python fibo.py

код в модуле будет выполнен так же, как если бы вы его импортировали, но с __name__ установленным в "__main__" . Это означает, что, добавив этот код в конец вашего модуля:

if __name__ == '__main__':
    # Running as a script

Вы можете сделать файл пригодным для использования в качестве скрипта, а также в качестве импортируемого модуля, потому что код, который анализирует командную строку, запускается только в том случае, если модуль выполняется как «основной» файл

на зачем

Вопрос довольно простой, но не найден в результате поиска. Как определить в скрипте Python, импортируется ли этот скрипт как модуль или запускается как скрипт? Есть ли вообще разница в питоне?

Проблема в том, что я хочу оценивать параметры командной строки только в том случае, если они запускаются как скрипт, а не в том случае, если модуль импортируется только для использования в другом скрипте. (Я хочу иметь возможность использовать один сценарий как библиотеку, так и программу.) Я боюсь, что простой способ - это создать lib и второй сценарий, который ее использует, но я хотел бы иметь второй вариант для небольшого инструмента. / LIBS.




Related

python module