是否有一种方法可以在模块内部设置一个全局变量?当我试图以如下所示的最明显的方式来做时,Python解释器说变量__DBNAME__
不存在。
...
__DBNAME__ = None
def initDB(name):
if not __DBNAME__:
__DBNAME__ = name
else:
raise RuntimeError("Database name has already been set.")
...
在另一个文件中导入模块之后
...
import mymodule
mymodule.initDB('mydb.sqlite')
...
回溯是:
< p >… 赋值前引用的局部变量“DBNAME” …< / p >
什么好主意吗?我试图通过使用模块来设置一个单例,根据这个家伙的建议。