当我在程序中传递选项(一个计算生物学实验)时,通常会通过.py文件进行传递。
因此,我有一个类似于以下内容的.py文件:
starting_length=9
starting_cell_size=1000
LengthofExperiments=5000000
然后我执行文件并获取数据。由于程序全部在我的计算机上,没有其他人可以访问它,因此安全性非常简单。
我也可以很容易地编写类似的文件:
def writeoptions(directory):
options=""
options+="starting_length=%s%s"%(starting_length,os.linesep)
options+="starting_cell_size=%s%s"%(starting_cell_size,os.linesep)
options+="LengthofExperiments=%s%s"%(LengthofExperiments,os.linesep)
...
open("%s%soptions.py"%(directory,os.sep),'w').write(options)
我想把一个函数作为参数传递:
我希望将一个函数作为参数传递:
starting_length=9
starting_cell_size=1000
LengthofExperiments=5000000
def pippo(a,b):
return a+b
functionoperator=pippo
当然,在实验中,函数pippo的功能会更加复杂,并且每次实验都不同。
但是我无法自动编写函数。简而言之,我不知道如何将writeoptions函数广义化以继续编写选项,如果其中一个选项是一个函数。当然,我可以复制原始文件,但这很不优雅,效率低下(因为它包含许多未使用的额外选项),并且通常不能解决问题。
你如何让Python在输出变量值的同时输出函数的代码呢?