我以python模块的形式接收场景数据(相同的变量集,每个场景的值不同)。
示例:
scen00.py
scenario_name = ["foo"]
scenario_num = [0]
.
.scen01.py
scenario_name = ["bar"]
scenario_num = [1]
.
.我使用import as将每个场景导入到一个单独的python函数中,然后引用基本名称空间进行所有编程。
示例:
import sys
def main():
script = sys.argv[0]
no_scens = int(sys.argv[1])
for i in range(0, no_scens):
process_1(i)
def process_1(scen_count):
if scen_count == 0:
import scen00
elif scen_count == 1:
import scen01 as scen00
print(scen00.scenario_name[0], scen00.scenario_num[0])预期结果:
foo 0
bar 1虽然此代码在no_scens为2时有效,但process_1()中将不同场景分配给scen00的部分不可伸缩且不美观。假设我现在有150个场景要导入,我如何才能最好地修改process_1()
发布于 2018-10-08 23:10:52
您可以尝试变量导入:
def process_1(scen_count):
scen = __import__("scen%02d" % scen_count)
print(scen.scenario_name[0], scen.scenario_name[1])https://stackoverflow.com/questions/52705108
复制相似问题