2015-11-19 2 views
0

Когда я запускаю этот код helloworld, я получаю сообщение «Нет сокета может быть создано».web.py не может быть создан сокет

import web 

urls = ("/.*", "hello") 
app = web.application(urls, globals()) 

class hello: 
    def GET(self): 
     return 'Hello, world!' 


app.run() 

То же треска работает отлично, если я прилагаю вызов app.run() внутри, если заявление, как этот

if __name__ == "__main__": 
    app.run() 

Я понимаю, что это не должно иметь никакого значения. У кого-нибудь есть объяснение?

ответ

0

если вы запустите py файл в командной строке, __name__ атрибут по умолчанию будет __main__, и ваш код выполняется сверху bottom.You может ссылаться на этот вопрос What does if __name__ == "__main__": do?

+0

Я понимаю, что. Но не должно ли поведение быть эквивалентным с или без приложения app.run(), заключенного в оператор if, учитывая, что я запускаю из командной строки? – Aaron

Смежные вопросы