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

Python中多次运行代码 按运行次数分目录保存指定文件

解决方案

修改后的代码

import os
from scipy.stats import truncnorm
import numpy as np
import csv 

def function(run_num):
    a, b = 47.0,53.0
    Nodes=12  #reshape into
    r = (1e-6)*np.linspace(truncnorm.ppf(0.001, a, b),truncnorm.ppf(1.0, a, b), Nodes)
    print("r =",[r])

    sort_r = np.sort(r); 
    r1=sort_r[::-1]
    print("r1 =",[r1])

    r1=r1.reshape(1,Nodes)
    print("r1 shape =",[r1])

    r2 = r.copy()

    np.random.shuffle(r2.ravel()[1:])
    print("r2 =",[r2])    

    r2=r2.reshape(1,Nodes)
    print("r2 =",[r2])                          #actual radius values in mu(m)

    maximum = r2.max()
    indice1 = np.where(r2 == maximum)
    r2[indice1] = r2[0][0]
    r2[0][0] = maximum
    r2[0][Nodes-1] = maximum  #+0.01*maximum
    print("r2 with max at (0,0)=",[r2])

    # 创建对应运行次数的文件夹
    folder_name = str(run_num)
    os.makedirs(folder_name, exist_ok=True)
    # 构造文件路径
    file_path = os.path.join(folder_name, 'Inv_Radius_220_47_53ND.csv')

    with open(file_path, 'w+') as f: 
        inv_r=1/r2
        print("inv_r =",[inv_r])
        writer = csv.writer(f)
        writer.writerows(inv_r)
     

    mean=np.mean(r)
    print("Mean =",mean)
    var=np.var(r)
    print("var =",var)
    std=np.std(r)
    print("std =",std)

# 运行10次,文件夹编号从1到10
for x in range(1, 11):
    function(x)

关键改动说明

  • 新增os模块导入,用于文件夹创建和路径拼接操作
  • 给function函数添加run_num参数,接收当前运行的次数(1到10)
  • 在保存文件前,通过os.makedirs创建对应编号的文件夹,exist_ok=True避免文件夹已存在时抛出异常
  • 使用os.path.join拼接文件夹与文件名,保证路径在不同操作系统下都能正常生效
  • 调整循环范围为range(1,11),让运行次数从1开始,对应生成编号1到10的文件夹

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:01:05