Python批量修改文件名

post date: 2020-03-03

最近下载了电视剧《琅琊榜》,总共54集。但是某平台给所有视频的文件名都加了他们的前缀。如果放到电视里播放很难选择集数,因为文件名前缀太长了,把关键信息都挤到后面了。

不拉长名称完全不知道到底是哪一集。

所以想把文件名都改得简洁一点,查了点资料发现用python的os.rename()方法很方便。 最终想要的格式为:琅琊榜_ (集数).mp4 代码如下:

import os
import re


# 文件夹路径,注意把路径分隔符都改成双反斜杠
path = "D:\\迅雷下载\\琅琊榜\\"
# 返回该文件夹下所有文件名的列表
fileList = os.listdir(path)
for filename in fileList:
    oldname = filename
    # 用正则表达式匹配文件名,此处格式为“琅琊榜_(2个数字)”,再加上后缀名.mp4
    newname = re.search("琅琊榜_\d\d", filename).group() + ".mp4"
    # 用os模块中的rename方法重命名
    os.rename(path + oldname, path + newname)
    print(oldname,'======>',newname)


print("已完成!")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

运行结果:

修改完看着就舒服多了。

如果只是想去掉文件名里的一部分,比如去掉[电影天堂www.dy2018.com],直接用replace()方法把它替换成空就行了:

newname = oldname.replace("[电影天堂www.dy2018.com]", "")
1