2012-10-25 19 views
7

Şişeyle ilgili bir sorunum var, _initialize işlevi iki kez çalıştırılıyor. Örnek uygulaması:Python şişesi başlatma yöntemini iki kez çalıştırıyor

@route("/index") 
def index(): 
     return "bang" 

def _initialize(): 
     print("bam") 

if __name__ == "__main__": 
    _initialize() 
    run(reloader=True, host="localhost", port = 8990) 

çıktısı:

bam 
bam 
Bottle v0.11.rc1 server starting up (using WSGIRefServer())...        
Listening on http://localhost:8080/               
Hit Ctrl-C to quit. 

Neden oluyor ve nasıl şişede böyle öncesi init yapabilirim?

cevap

11

Sorun, run işlevinin reloader=True bağımsız değişkenidir. Aşağıdaki paragrafa bakın:

Tüm modül düzeyinde kod en az iki kez yürütülür! Dikkatli ol.