我想通过读取配置文件中的变量数来创建动态的for循环数,其中每个for循环的每个变量都具有在配置文件中确定的变量值
我正在读取一个配置文件,在其中设置各种变量的值,并将它们带入python代码中,以将Silvaco Atlas模拟(TCAD)代码组合在一起。之所以这样做,是因为我想在TCAD结构中使用不同的参数运行大量仿真。我发现使用configparser一个很好的模块来读取配置文件(.ini),并从中制作SilvacoAtlas代码。在配置文件中,我有一个称为“变量”的部分,在该部分下,我要迭代并创建不同的SilvacAtlas代码文件的所有变量。 (很抱歉,如果我共享的代码看起来不像StackExchange上的代码,我是新手)
例如,配置文件如下:
%this is config_file.ini
[geometry]
x=10
y=10
y_points=100
x_points=100
[variables]
x = [1,3,4,8]
y = [20,40,100]
.
.
.
n = [a,b,c]
现在,我以如下方式在python中读取config_file.ini:
import configparser
configFile=configparser.ConfigParser()
configFile.read("config_file.ini")
#reading the section "variables" and extracting values from it
no_of_variables=len(configFile.options('variables'))
for all variables, get their names and values as follows:
{
var1=configFile.options('variables')[0]
var2=configFile.options('variables')[1]
.
.
.
varn=configFile.options('variables')[no_of_variables]
var1_values=np.array(list(re.findall(r'\d+',configFile.get('variables',var1))),float)
var2_values=np.array(list(re.findall(r'\d+',configFile.get('variables',var2))),float)
.
.
.
varn_values=np.array(list(re.findall(r'\d+',configFile.get('variables',varn))),float)
}
**#dynamic for loop begins here:**
for var1_iter in var1_values:
for var2_iter in var2_values:
.
.
.
for varn_iter in varn_values:
_make a SilvacoAtlas code file with the current var1,var2,...varn_
如何根据config_file.ini中有多少个“变量”来创建循环数?