截至目前,我们有一个文件conf.py
,用于存储服务的大部分配置变量。我们的代码与此类似:
environment = 'dev' # could be dev, local, staging, production
configa = 'something'
configb = 'something else'
if environment = 'dev':
configa = 'something dev'
elif environment = 'local':
configa = 'something local'
这是在python项目中管理配置文件的正确方法吗?这些配置是在编译时加载到变量中(在创建pyc文件时),还是每次在python脚本中导入conf时检查if条件,还是每次访问配置变量时都检查?
答案 0 :(得分:2)
所有代码都在导入时运行。但是,由于您不太可能在运行时反复导入应用程序,因此可以忽略(最小)开销。
答案 1 :(得分:2)
这是主观的,但在这篇文章中有一个很好的讨论: What's the best practice using a settings file in Python?
使用您的方法,它将被视为与任何其他python脚本相同的方式,即在导入时。如果您希望更新访问/或不重新启动服务,最好使用外部/非python配置文件(例如json,.ini)并设置刷新文件的功能。
答案 2 :(得分:0)
您必须创建一个文件,例如settings.py
,
将文件的路径添加到系统的文件中。
例如:
sys.path.append(os.path.dirname(__file__))
А在任何地方都可以导入文件并从任何设置中获取:
import settings
env = settings.environment
同样,许多工作框架。