一、实验背景
使用python将CMFD的nc文件转为tif后,发现一个文件夹下面有很多时间的文件,想把它们分别按照0点3点6点等格式移动到不同的文件夹下面。
我的原始数据的命名规则:年 月 日 时
二、参考文献
三、代码
根据参考文献和我的要求修改后的代码如下:
import os
import shutil
# 存放初始文件的文件夹
rootdir = r"F:\Meteorological Data\CMFD\03hr\LRad\2003\2.totif"
# 获取文件夹下所有文件
list = os.listdir(rootdir)
#想要移去的文件夹
f1=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\00_00"
f2=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\03_00"
f3=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\06_00"
f4=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\09_00"
f5=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\12_00"
f6=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\15_00"
f7=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\18_00"
f8=r"F:\Meteorological Data\CMFD\03hr\LRad\2003\3.folders\21_00"
folders=[f1,f2,f3,f4,f5,f6,f7,f8] #将其组合为一个列表
times=["00_00","03_00","06_00","09_00","12_00","15_00","18_00","21_00"] #分类的依据是时间
for i in range(0, len(list)): # 遍历所有文件
from_path = os.path.join(rootdir, list[i]) #文件原来的位置
test=list[i][-9:-4] #文件名的最后5个字符是时间
for j in range(0,len(times)):
if test==times[j]: #如果文件名的时间字符与分类的时间是相同的
to_path = folders[j]
shutil.move(from_path,to_path) #移动
print("ok")
四、运行结果
原来的数据:
移动之后: