傻瓜小工具-用python批量修改文件名

本文案例是批量修改音频文件,简单修改也可用于批量修改图片、视频等的其他文件,这个功能对于有收藏癖,同时又有强迫症的宅男,可以说是非常实用(因为我就是案例)。

新手上路,老司机勿喷。作为小白,我暂时还写不出非常强壮、高级的代码的,但是幸好,“人生苦短,我用python。”所以简单、易用就好。本文正是从这个目的出发,用简单的代码,实现同样的目的,我写的容易,你调的方便。

******************************下面干活******************************

pre:下面代码由python3完成

功能实现二步搞定:

第一步:提取序号与文件名的键值对。

本案例中音频文件来自于喜马拉雅,下载音频的同时,也下载了包括序号和文件名的json文件(eg.5836817list.json),所以第一步是解析这个json文件,生成dict。

#导入包

import json

 
with open(r' D:\Download\XMLY\5836817list.json','r',encoding='utf8') as c:

    #红字部分D:\Download\XMLY\5836817list.json为json文件的位置,要替换成你自己的json位置。

    content=json.load(c)

    #print(content[:2])
    id_list=[]
    title_list=[]
    dict={}   
    for i in range(len(content)):        
        id=content[i]['id']
        title=content[i]['title']
        id_list.append(id)
        title_list.append(title)
        dict1={id_list[i]:title_list[i]}
        dict.update(dict1)

        i+=1

生成的dict文件,长这个样子



第二步:

import os
path=r'D:\Download\XMLY\5836817'

#红字部分D:\Download\XMLY\5836817为等待修改的文件所在文件夹,要修改为你要修改的文件看在文件夹地址

filelist=os.listdir(path)

for f in filelist:
    filepath=os.path.join(path,f)
    try:        
        if f.endswith(" m4a"): # 红字部分 m4a 为音频扩展名,要修改为你的文件的扩展名
            portion=f.split('.')[0]
            portion=int(portion)        
            newname=dict[portion] + '. m4a'
            newname=newname.replace('/|-',' ')
            newnamepath=os.path.join(path,newname)
            os.rename(filepath,newnamepath)
            print('now handling the {0}'.format(newname))
    except:
        continue
print('all done')


修改文件名前:


修改文件名后:


欢迎交流