Python tornado全局变量

2024-09-26 18:17:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python Tornado应用程序。我想有多个文件共享的变量。以前我用python文件名声明和初始化它们全局.py并将其导入其他文件。这是个好主意,直到我的一些变量需要从数据库中查询,所以每次我导入全局.py为了只得到一个值,所有查询都在运行,这会导致应用程序速度减慢。
下一步是在龙卷风中定义变量开始.py像这样:

class RepublishanApplication(tornado.web.Application):

    def __init__(self):
        ##################################################
        # conn = pymongo.Connection("localhost", 27017)
        self.Countries = GlobalDefined.Countries
        self.Countries_rev = GlobalDefined.Countries_rev
        self.Languages = GlobalDefined.Languages
        self.Categories = GlobalDefined.Categories
        self.Categories_rev = GlobalDefined.Categories_rev
        self.NewsAgencies   = GlobalDefined.NewsAgencies
        self.NewsAgencies_rev = GlobalDefined.NewsAgencies_rev
        self.SharedConnections = SharedConnections

我可以像这样在处理程序中访问这些变量:

^{pr2}$

效果很好。但问题是我只能在处理程序类中访问这些变量,如果我想访问它们,就必须将它们传递给函数。我觉得这不是个好主意。你有什么建议可以在任何地方访问这些变量,而不必将应用程序实例传递给我的所有函数,甚至可以用另一种方法来帮助我?在


Tags: 函数pyself应用程序处理程序rev全局countries
1条回答
网友
1楼 · 发布于 2024-09-26 18:17:28

将全局变量放入全局.py文件是一个很好的方法来完成这一点。如果使用PyMongo从MongoDB查询值,则全局.py是导入的,那工作只是第一次完成全局.py在进程中导入。其他进口商品全局.py从系统模块隐藏物。在

相关问题 更多 >

    热门问题