私はPythonで書かれた小さなデスクトップゲームを持っていて、ゲームの実行中に内部のものにアクセスしたいと思っています。私は別のスレッドで実行されているweb.pyとページを提供することによってこれを行うことを考えていました。したがって、http://localhost:8080/mapにアクセスすると、デバッグの目的で現在のレベルのマップが表示されます。他のアプリケーションの中でweb.pyサーバを実行する方法
私はweb.pyをインストールして実行していますが、ここからどこに行くのか本当にわかりません。私は別のスレッドでweb.applicationを起動しようとしましたが、何らかの理由でスレッド間でデータを共有できません(私は思っています)。
以下は、私がこのアイデアをテストしている単純な例です。私はhttp://localhost:8080/が毎回異なる番号を返すと考えましたが、同じ番号(5)を表示し続けます。 whileループの中でcommon_valueを印刷すると、インクリメントされていますが、5から始まります。
ここでは何が分かりませんか?可能であれば、データベースの使用を避けたいと思っています。
をcommon_valueは別のモジュールで定義され、そこからインポートし、上記のコードが動作している場合:
import web
import thread
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
common_value = 5
class hello:
def GET(self):
return str(common_value)
if __name__ == "__main__":
thread.start_new_thread(app.run,())
while 1:
common_value = common_value + 1
'code'、def GET(self): return str(thingy.common_value)' code' – Cletrix