我想让一个数据库对象在多个Python模块中可用。
作为一个相关的例子,我创建了一个名为globl.py的文件:
DOCS_ROOT="c:\docs" ## as an example
SOLR_BASE="http://localhost:8636/solr/"
任何需要它的其他模块都可以执行
from globl import DOCS_ROOT
除了这个例子之外,我想要做的是使用数据库连接对象来完成同样的事情,在许多模块之间共享它们。
import MySQLdb
conn = MySQLdb.connect (host="localhost"...)
cursor = conn.cursor()
我在解释器上尝试了这个:
from globl import cursor
看起来能够正常工作,但我怀疑这会导致每次从中导入时都执行同一个模块。所以这种方式合适吗?
global _connection
。 - Zecc__all__
还有一个好处,即在使用import *
导入名称空间时,可以表示将要导入的内容。不过如果你能避免使用import *
的话,最好不要使用它! :-) - deed02392