Python:带有循环的名称变量

时间:2011-08-11 13:44:45

标签: python variables loops

对于我们的ansys软件,我想生成一个脚本来自动化某些东西。 当我记录我的行为时,我得到以下

template1 = GetTemplate(
    TemplateName="Random Vibration",
    Solver="ANSYS")
system1 = GetSystem(Name="Modal (ANSYS)")
component1 = system1.GetComponent(Name="Engineering Data")
component2 = system1.GetComponent(Name="Geometry")
component3 = system1.GetComponent(Name="Model")
component4 = system1.GetComponent(Name="Solution")
componentTemplate1 = GetComponentTemplate(Name="SimulationSetupCellTemplate_StructuralRandomVibrationANSYS")
system2 = template1.CreateSystem(
    ComponentsToShare=[component1, component2, component3],
    DataTransferFrom=[Set(FromComponent=component4, TransferName=None, ToComponentTemplate=componentTemplate1)],
    Position="Right",
    RelativeTo=system1)

需要创建72个系统,所以我想用循环代替手动复制粘贴这些。什么是最好的继续方式

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全不喜欢你的问题,但是根据你的代码命名,我认为这就是你想要的:

systems1 = []
systems2 = []
templates = []
components1 = []
components2 = []
components3 = []
components4 = []
for i in range(72):    
    template = GetTemplate(
        TemplateName="Random Vibration",
        Solver="ANSYS")
    system = GetSystem(Name="Modal (ANSYS)")
    component = system.GetComponent(Name="Engineering Data")
    component1 = system.GetComponent(Name="Geometry")
    component2 = system.GetComponent(Name="Model")
    component3 = system.GetComponent(Name="Solution")
    componentTemplate = GetComponentTemplate(Name="SimulationSetupCellTemplate_StructuralRandomVibrationANSYS")
    system = template.CreateSystem(
    ComponentsToShare=[component1, component2, component3],
    DataTransferFrom=[Set(FromComponent=component4, TransferName=None, ToComponentTemplate=componentTemplate)],
    Position="Right",
    RelativeTo=system)
    templates.append(template)
    ... rest of appends...

如果您需要稍后访问这些内容,我猜您会这样做。如果您确实需要将它们命名为system1,system2等,则可以使用exec并在循环中构建字符串。