如下图,我的目录下有一批需要修改文件名的文件
现在我要根据文件里的内容修改成我想要的文件名,如2008 (20).nc 更改为文件名 HYCOM_2008-03-21_12.nc。
(1)首先导入python的os库,os.listdir(path)能够获取路径下所有文件名,os.rename(old_name,new_name)更改文件名,os.path.join() 连接路径与文件名
import os
path = 'D:\\A_Coawst\\plot_ev\\hycom_data\\3YUE'
files = os.listdir(path)
(2)根据所需要的结果编写函数
def judge_n(uchar):
"判断uchar的类型,并产生相应输出"
if len(uchar) == 7:
return "HYCOM_2008-03-01_12"
elif len(uchar) == 11:
kk = int(uchar[6]) + 1
new = "HYCOM_2008-03-" + str(kk).zfill(2) + "_12"
print(new)
return new
elif len(uchar) == 12:
kk = int(uchar[6:8]) + 1
new = "HYCOM_2008-03-" + str(kk).zfill(2) + "_12"
print(new)
return new
else:
print("error")
(3)最后利用os.rename 完成批量更名
nname = ''
for file in files:
nname = file
print(nname)
new_name = judge_n(nname)
os.rename(os.path.join(path + "\\" + nname), os.path.join(path + "\\" + new_name + ".nc"))
(4)END