我有一些python代码,它从另一个文件中读取一系列用户指定的变量,包括用户并不总是选择的变量的一些if
语句。我的代码示例如下:
import sys
if __name__=="__main__":
#Read-in user input file
filename = sys.argv[-1]
#Import user-defined parameters
m = __import__(filename)
directory = m.directory
experimentNumber = m.experimentNumber
dataInput = m.dataInput
outputFile = m.outputFile
save_flag = m.save_flag
cores = m.cores
npts1 = m.npts1
npts2_recorded = m.npts2_recorded
weightingFuncNameDim2 = m.weightingFuncNameDim2
weightingFuncParamsDim2 = m.weightingFuncParamsDim2
if int(m.ndim) >= 2:
weightingFuncNameDim3 = m.weightingFuncNameDim3
weightingFuncParamsDim3 = m.weightingFuncParamsDim3
else:
weightingFuncNameDim3 = '-'
weightingFuncParamsDim3 = '-'
总共有大约50个这些变量从用户定义的文件中导入。导入的变量将在代码中稍后由其他函数使用。我编码的方式似乎将这些设置为全局变量,因此它们可以很容易地被其他变量使用。但是,有更多的pythonic方法吗?但是,我不确定在不将50个变量传递到每个函数的情况下使这些变量可用的最佳方法是什么(繁琐)。