You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python代码让生成的XML文件名含TW、TS、core_h参数值

修改Python代码生成带参数值的XML文件名

我来帮你搞定这个文件名定制的需求!核心思路就是把当前迭代的TW、TS、core_h参数值直接嵌入文件名,替代原来单调的数字序号。下面是修改后的完整代码,再给你拆解关键改动点:

修改后的代码

def BOFunc():
    q = 20
    m = 1  # 保留原线程控制的计数器,按需调整
    # 遍历Traces节点
    for child in root.iter('Traces'):
        for ts in frange(3, 12.75, 0.25):
            child.set('TS', str(ts))
            for tw in frange(3, 12.75, 0.25):
                child.set('TW', str(tw))
                # 遍历Stackup节点
                for child2 in root.iter('Stackup'):
                    for h in frange(2, 4, 0.5):
                        # 处理参数的显示格式,避免浮点数精度问题(比如3.0显示为3,3.25保留两位小数)
                        ts_display = str(int(ts)) if ts.is_integer() else f"{ts:.2f}"
                        tw_display = str(int(tw)) if tw.is_integer() else f"{tw:.2f}"
                        h_display = str(int(h)) if h.is_integer() else f"{h:.1f}"
                        
                        # 构建带参数的文件名
                        filename = f"TW_{tw_display}-TS_{ts_display}-core_h_{h_display}.xml"
                        
                        # 更新Definition节点的modelname
                        for child3 in root.iter('Definition'):
                            child3.set('modelname', filename)
                        
                        # 设置core_h参数
                        child2.set('core_h', str(h))
                        
                        # 写入XML文件(注意用原始字符串处理Windows路径)
                        output_path = r'C:\Users\Aravind_Sampathkumar\Desktop\IMLC\BO\{}'.format(filename)
                        tree.write(output_path)
                        
                        # 启动线程处理任务
                        D = threading.Thread(target=foo, args=(filename,))  # 用文件名替代fileCount作为线程参数
                        D.start()
                        
                        # 保留原线程批量等待逻辑
                        if m % 5 == 0:
                            D.join()
                        m += 1

关键改动说明

  1. 文件名构建:
    用Python的f-string语法直接将参数值拼接到文件名模板中,同时加入了浮点数格式处理,避免出现3.2500000000000004这类精度问题,让文件名更整洁。

  2. 移除冗余变量:
    不再需要fileCount来计数命名,直接用参数组合唯一标识每个文件,更直观也更易追溯对应参数。

  3. 路径与线程参数优化:

    • Windows路径改用原始字符串(r'')避免反斜杠转义错误;
    • 线程参数从fileCount换成了新的文件名,方便后续线程任务识别对应的文件。
  4. 保留原有逻辑:
    保留了你原来的线程批量等待(每5个线程等待一次)、参数遍历范围等逻辑,确保功能一致性。

内容的提问来源于stack exchange,提问作者Potato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:41:11