Wikipediaにも「Pythonで書かれたスケーラブルでノンブロッキングなWebサーバ、Webフレームワーク」と書かれたTornadoのデバッグモードをオンにしてファイルの変更を検知してリロードしてくれるようにするやり方。
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") application = tornado.web.Application( [ (r"/", MainHandler), ], debug=True ) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
ほとんどサンプルのまんまです。
debug=True だけでオートリロードもしてくれます。簡単。これだとデバッグモード切り替えで都度コードの書き換えが必要になるのでコマンドライン引数で振る舞い変えるようにしたほうがいいでしょうね。
TornadoはPython3.2以降にも対応してるので安心です。