如何根据配置文件中的变量数量动态生成for循环

时间:2019-04-30 05:01:24

标签: python-3.x for-loop

我想通过读取配置文件中的变量数来创建动态的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中有多少个“变量”来创建循环数?

0 个答案:

没有答案