文章目的:XXXX_YYYY_Z——>XXXX-AA-BB,XXXX表示1981~2015,YYYY有两个选项0106、0712,Z表示1~12,AA表示月份,BB有两个选项1、2,前者如1981_0712_3表示1981年7月~12月中的第3幅影像,由于GIMMS NDVI每个月两张图,即表示8月的第一张图。后者1981-08-01表示1981年8月的第一幅图。
代码如下,注意会修改名字会替换原文件,不是copy! 不是copy!
ndvi_file_path = r'F:\NDVI data\GIMMs NDVI\Extract\Caijian'
out_file_path = r'F:\NDVI data\GIMMs NDVI\Caijian NDVI'
import os
for year in range(1981,2016):
for flag in ['0106','0712']:
for num in range(1,13):
tif_file = str(year) + '_' + flag + '_' + str(num) + '.tif'
filex = os.path.join(ndvi_file_path,tif_file)
if flag == '0106':
month = int(num/2+0.5)
else:
month = int(num/2+0.5) + 6
if num % 2 == 1:
numf = 1
else:
numf = 2
if os.path.exists(filex):
new_tif_file = str(year)+'-'+str(month).zfill(2)+'-'+str(numf).zfill(2) + '.tif'
#设置旧文件名(就是路径+文件名)
oldname = ndvi_file_path+ os.sep + tif_file # os.sep添加系统分隔符
#设置新文件名
newname = out_file_path + os.sep + new_tif_file
os.rename(oldname,newname) #用os模块中的rename方法对文件改名
print(oldname,'======>',newname)