Запустить файл python - какая функция является основной? - PullRequest
17 голосов
/ 29 апреля 2010

У меня есть простой скрипт на python 'first.py':

#first.py
def firstFunctionEver() :
    print "hello"

firstFunctionEver()

Я хочу вызвать этот скрипт, используя: python first.py, и пусть он вызовет firstFunctionEver(). Но сценарий уродлив - в какую функцию я могу поместить вызов firstFunctionEver() и запустить его при загрузке сценария?

Ответы [ 3 ]

40 голосов
/ 29 апреля 2010
if __name__ == "__main__":
    firstFunctionEver()

Подробнее в документации здесь .

10 голосов
/ 29 апреля 2010
if __name__ == '__main__':
    firstFunctionEver()
0 голосов
/ 30 марта 2018

Я знаю, что вы прямо сказали, что хотите вызвать свой скрипт, используя python first.py. Однако вы можете подумать о том, чтобы вызывать свой скрипт по-другому, даже не меняя код.

Допустим, структура вашего проекта имеет вид first_pckg/first.py. Вы можете переименовать ваш first.py в __main__.py. Также добавьте пустой файл __init__.py, чтобы пометить каталог как пакет Python. Затем вы можете просто позвонить вашему пакету так:

$ python -m first_pckg
hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...