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
相关产品推荐
相关产品推荐

