我有一个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}$效果很好。但问题是我只能在处理程序类中访问这些变量,如果我想访问它们,就必须将它们传递给函数。我觉得这不是个好主意。你有什么建议可以在任何地方访问这些变量,而不必将应用程序实例传递给我的所有函数,甚至可以用另一种方法来帮助我?在
将全局变量放入全局.py文件是一个很好的方法来完成这一点。如果使用PyMongo从MongoDB查询值,则全局.py是导入的,那工作只是第一次完成全局.py在进程中导入。其他进口商品全局.py从系统模块隐藏物。在
相关问题 更多 >
编程相关推荐