![](/img/trans.png)
[英]CherryPy Logging: How do I configure and use the global and application level loggers?
[英]How do I use a global variable in cherrypy?
我需要訪問一個全局變量,使其狀態保持不同的服務器請求。
在此示例中,全局變量是r
並且在每個請求時遞增。
我怎樣才能讓r
全球化?
import cherrypy
import urllib
class Root(object):
@cherrypy.expose
def index(self, **params):
jsondict = [('foo', '1'), ('fo', '2')]
p = urllib.urlencode(jsondict)
if r!=1
r=r+1
raise cherrypy.HTTPRedirect("/index?" + p)
return "hi"
cherrypy.config.update({
'server.socketPort': 8080
})
cherrypy.quickstart(Root())
if __name__ == '__main__':
r=1
要訪問全局變量,必須使用global
關鍵字,后跟變量名稱。 但是,如果r
將僅在Root
類中使用,我建議您將其聲明為類變量:
class Root(object):
r = 1
@cherrypy.expose
def index(self, **params):
#...
if Root.r != 1:
Root.r += 1
#...
我有同樣的問題。 它在實現我的程序可以訪問導入庫的成員變量后得到解決。
首先,創建一個名為myglobals.py的文件並將其放入其中
r=0
visitors = 0
然后在你的服務器中:
import myglobals
class Root(object):
@cherrypy.expose
def index(self, **params):
#...
if myglobals.r != 1:
myglobals.r += 1
#...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.