2026年每次 跑程序, 输出 先放进 按日期 命名的 文件夹
原创方法文章:传感器分析脚本每次生成折线图和均值表,反复运行会覆盖旧图。讲输出目录命名模板(日期-轮次)、脚本里写死输出路径、禁止覆盖旧结果,以及附图文件名能回溯到哪一天哪一轮。
文章目录收起
跑传感器CSV分析脚本,每次生成折线图和均值表(示意)。若直接输出同一文件夹,再跑一遍会覆盖旧图,调好的参数和对比图丢失。问题不在脚本本身,在于未预先规划输出位置。本文用贯穿例子——传感器CSV分析脚本,讲清如何用日期和轮次组织输出目录,让每次结果独立,并能从文件名回溯日期轮次。
输出目录命名模板:日期-轮次,一眼看出先后
目录名含日期和轮次,如`output/2026-03-14_run1`(示意)。日期用ISO格式,轮次从1递增。同天多次运行则run1、run2……跨天靠日期区分。假设原始数据文件为`sensor_data.csv`(示意),每次输出`trend.png`和`summary.csv`。项目根目录下建`output`,按日期轮次建子目录。示例见表:
| 目录 | 文件 |
|---|---|
| output/2026-03-14_run1/ | trend.png, summary.csv |
| output/2026-03-14_run2/ | trend.png, summary.csv |
这样每次跑完新结果放新目录,旧结果原封不动,随时回看初次运行的图,对比参数调整前后差异。
脚本里写死输出目录
脚本开头定义输出目录变量,所有保存操作引用它。示意代码:
import os
run_id = "2026-03-14_run1" # 手动或自动生成
out_dir = os.path.join("output", run_id)
os.makedirs(out_dir, exist_ok=True)
plt.savefig(os.path.join(out_dir, "trend.png"))
df_summary.to_csv(os.path.join(out_dir, "summary.csv"), index=False)核心三行:定义run_id,拼接路径并创建目录,保存文件用完整路径。`exist_ok=True`使目录不存在时创建,存在时不报错。若不想手动改run_id,可用日期加自动递增轮次,即检查output下今天已有几个run文件夹再加1。
禁止反复点运行覆盖旧图
常见错误是写完脚本直接点运行,默认输出覆盖旧图。除用日期-轮次目录外,还需检查目录是否存在,若存在自动递增或提示。自动加一代码:
import glob, datetime
today = datetime.date.today().isoformat()
existing_runs = glob.glob(os.path.join("output", today + "_run*"))
next_run = len(existing_runs) + 1
run_id = f"{today}_run{next_run}"
out_dir = os.path.join("output", run_id)
os.makedirs(out_dir, exist_ok=True)这样每次运行自动计算今天已跑轮次,新建下一轮目录,旧图永不被覆盖。若需覆盖某轮,可手动删除该目录。
报告附图文件名能回溯日期轮次
保存时把日期轮次写入文件名:
plt.savefig(os.path.join(out_dir, f"trend_{run_id}.png"))
df_summary.to_csv(os.path.join(out_dir, f"summary_{run_id}.csv"), index=False)文件名如`trend_2026-03-14_run1.png`(示意),单独拷出也能溯源。若区分参数,可加标识,如`trend_2026-03-14_run1_threshold0.5.png`。均值表同理,读者从文件名就知道数据来源。
实际操作注意点
日期用ISO格式,字符串排序即时间顺序,不要用`03-14-2026`。轮次用两位数(run01、run02),避免`run10`排在`run2`前。若脚本中途停止,目录已建,下次自动用新轮次,不覆盖。同天跑多轮目录多,建议保持扁平,靠文件名区分,不要再建日期子目录。
下一步:改脚本加三行
导入`os`、`datetime`,用`glob`生成`run_id`,用`os.makedirs`创建目录,所有保存路径改为`os.path.join`。改完跑一次,`output`下多一个带日期的子目录,里面是带轮次的文件名。再跑一次,新目录出现,旧文件还在。从此不用再担心覆盖问题。
诺篮STEM青少年科创赛事1V1指导丨辅导地区:上海、北京、苏州 丨辅导项目:金鹏科技论坛、青创赛、明日科技之星、北京小院士、雏鹰杯、金钥匙科技竞赛、人工智能及科技创新类赛事、科技特长生升学规划、白名单科创类赛事丨电话咨询可获取各区免费升学规划辅导一次丨咨询电话:17621501337
资料与编写说明
原创方法文章
资料核验:2026-10-14孩子有想法,却不知从哪里开始?
带上兴趣、年级或已有作品,先聊清楚当前最需要解决的问题。