有个需求,实验结果保存的模型都存放在一个文件夹中,特别乱,因此需要将这些模型按照实验ID分类存放。实现如下:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Graph-WaveNet-raw
@File :move.py
@IDE :PyCharm
@Author :Rachel Liu
@Date :4/11/2021 下午 3:54
移动文件,整理模型
"""
import os
import shutil
def move_files(path, start_pos):
all_files = os.listdir(path)
# 所有实验ID
dates = set()
for file in all_files:
# 文件格式:metr_10272033_12_epoch5_2.89.pth
dates.add(file[start_pos:start_pos + 8])
print(dates)
# 创建单独文件夹
for date in dates:
if not os.path.exists(os.path.join(path, date)):
os.makedirs(os.path.join(path, date))
# 移动
for file in all_files:
src = os.path.join(path, file)
dst = os.path.join(path, file[start_pos:start_pos + 8], file)
print(src, "->", dst)
shutil.move(src, dst)
if __name__ == '__main__':
file_path = r'D:\codeProjects\WaveNet\garage\raw'
move_files(file_path, 5)