拥有python中不同模块共享的标志的最佳方法是什么?

时间:2015-08-03 11:04:21

标签: python

  

注意:我没有使用相同的名称设置不同的变量,   子类;这些都是使用相同的分离模块   参数。为了清楚起见,我在这里以同样的方式称呼它。所以   这里链接的问题与我的案例无关。

我想为多个模块和类设置一个特定的标志。

我的情况是,过程分析是在本地实验室完成的,而在其他情况下则必须在远程实验室中进行。

在我们系统的每个类和模块中,我有一个传递此参数的函数;这意味着每次我们必须在不同的位置执行一组分析时,我必须在不同的类和不同的模块中更改一堆函数。

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方法是什么?

0 个答案:

没有答案