【python 文件操作】将带有特定字符的文件批量移动到指定文件夹下

一、实验背景

使用python将CMFD的nc文件转为tif后,发现一个文件夹下面有很多时间的文件,想把它们分别按照0点3点6点等格式移动到不同的文件夹下面。
我的原始数据的命名规则:年 月 日 时
在这里插入图片描述

二、参考文献

《python批量将文件移动到另一个文件夹》

三、代码

根据参考文献和我的要求修改后的代码如下:

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")

四、运行结果

原来的数据:
在这里插入图片描述
移动之后:
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值