【python】如何批量修改文件名

背景

最近老师布置了一个任务,要求是拍100张植物的照片。然后按照格式命名(ZWX+拍摄日期+从1开始的编号+植物名称+001编号)。如“ZWX20210313-001(一年蓬)01.jpg‘
如果要手动修改就会很费时间,这里采用python进行批量修改。

思路

1,读取文件

fileList = os.listdir(path1)# 获得所有文件名列表

【python】如何批量修改文件名_第1张图片
2,修改文件名
利用rename函数可以修改读取的文件名称。

os.rename( path1 + CurrentFileName, path1 + NewFileName);

3,循环读取并修改
使用循环即可批量读取修改名称

代码

import os
path = 'F:\日期\植物\D'  #文件夹路径

i=0
num=13
day=['ZWX20210321','ZWX20210324','ZWX20210329','ZWX20210330','ZWX20210331','ZWX20210405','ZWX20210406','ZWX20210409','ZWX20210411','ZWX20210422','ZWX20210423']
D=[['樟树','荷花木兰','山茶花','红花檵木','玉兰','卫矛','紫叶李','雪松','棕榈','石楠','圆柏','剑麻','杜鹃花','垂丝海棠','齿叶冬青','银杏','龙柏','十大功劳','黄杨','阔叶十大功劳']
,['碧桃','桃花','冬青','白车轴草','池杉','腊梅','蒲公英','樱花','石楠','小琴丝竹','迎春花','刺柏','苦苣菜']
,['紫藤']
,['兰香草','野豌豆','毛茛','紫锦木','海桐','金叶女贞']
,['鸡爪槭','黄菖蒲','泽漆','野菊','白车轴草','刚竹','千屈草','五针松','石榴']
,['油菜花','葫芦藓','蓟','黄鹤菜','细叶旱芹','附地菜','益母草','苜宿','繁缕','青蒿','翻白草','老鹤草','猪殃殃','荠菜','樱花','葎草','桂花']
,['月季','女贞','栀子花','卫矛','水苦荬']
,['蓬纍','诸葛菜','鸢尾']
,['落石','桑','牛筋草','珠芽景天','天胡荽','白茅','刺槐','芭蕉','夹竹桃','石榴花','绞股蓝']
,['含笑','枸骨','老鹤草','悬铃木','南苜宿','麦蓝菜','红枫','罗汉松','阔叶箬竹','龙爪槐','小蜡','蜀葵']
,['蛇莓','鸭趾草','栾树','无花果','紫茉莉','臭鸡屎藤','篱打碗花','香椿','六座大山荆芥']]

while(i<11):
    j=0
    path1=path+str(i+1)+'\\'
    fileList = os.listdir(path1)# 获得所有文件名列表
    while(j < len(fileList)):
        CurrentFileName = fileList[j]
        if(num<10):
            num1='00'+str(num)
        elif(num<100):
            num1='0'+str(num)
        else:
            num1=str(num)
        print(str(fileList[j].split('.')[0])+':'+D[i][int(fileList[j].split('.')[0])-1])
        NewFileName =day[i]+'-'+ str(num1)+'('+D[i][int(fileList[j].split('.')[0])-1]+')02.jpg' 
        os.rename( path1 + CurrentFileName, path1 + NewFileName);
        j=j+1
        num=num+1
    i = i + 1

你可能感兴趣的:(Python)