Python 实现文件批量重命名

从 B 站下载了一套 C++程序设计课程,发现下载到本地的视频文件名过于冗长,类似于:
“清华大学C++自主学习教程(推荐1.5倍速食用) - 16.2-4-2逗号运算、关系运算、逻辑运算和条件运算(Av20786390,P16).Flv”
我们想把文件名精简为”2-4-2逗号运算、关系运算、逻辑运算和条件运算.Flv”。

解决思路

首先可以看到”清华大学C++自主学习教程(推荐1.5倍速食用) - “这一串字符是固定的,可以用字符串替换为空去掉,然后用 re 模块通过正则表达式的替换将视频序号”16.”和括号以及里面的番号”(Av20786390,P16)”替换为空。

实现过程

具体代码如下:

1
2
3
4
5
6
7
8
9
10
import os
import re

path = 'F:\\1\\'#将路径设置为 F 盘的 1 文件夹

for file in os.listdir(path):
midname1 = file.replace('清华大学C++自主学习教程(推荐1.5倍速食用) - ','')
midname2 = re.sub(r'\([^)]*\)', '', file)
newname = re.sub(r'\d+\.', '', midname2)
os.rename(os.path.join(path,file),os.path.join(path,newname))