注意:我没有使用相同的名称设置不同的变量, 子类;这些都是使用相同的分离模块 参数。为了清楚起见,我在这里以同样的方式称呼它。所以 这里链接的问题与我的案例无关。
我想为多个模块和类设置一个特定的标志。
我的情况是,过程分析是在本地实验室完成的,而在其他情况下则必须在远程实验室中进行。
在我们系统的每个类和模块中,我有一个传递此参数的函数;这意味着每次我们必须在不同的位置执行一组分析时,我必须在不同的类和不同的模块中更改一堆函数。
Module1
analyzeAlpha("lab_a", compound, type)
Module2
analyzeSpect("lab_a", compound, type)
analyzePhot("lab_a", compound, type)
....moduleN
现在我想在一个地方设置这个参数,所以我可以将每个模块指向这个位置,他们可以加载它并正确设置变量......问题是我不确定什么是最好的方式。
我考虑过创建一个每个模块都会导入的类;它有一个参数是True或False(或者给出数字,以防我们有更多的位置。模块只包含一个类;所以我可以在那里设置参数,它将传播到所有的模块和函数。不确定这在python中是否有意义。
Module_labs:
class lab_location(object):
lab_var = "lab_a"
Module1
from Module_labs import lab_location
analyzeAlpha(lab_location.lab_var,compound, type)
....
另一种方法是使用文件来阅读;函数读取它,并设置值;模块导入函数并获取值;虽然这意味着每个模块都必须调用这个函数,这对我来说似乎效率极低。
实现这一目标的效率和pythonic方法是什么?