在平时,我们总是会遇到一种需要批量更改,或者是删除文件名字的情况。
对此,我们可以使用正则表达式进行匹配,然后去匹配删除相应的字数。
比如图片序列,因为一些特殊情况,导致名字为:
00000-new00000.png ---> 00001-new00001.png ---> 00002-new00002.png
这种情况会导致图片序列无法导入到pr、nuke等软件中,我们需要将前缀进行删除才行。
以下是python代码:
import os
import re
# 指定文件夹路径
folder_path = 'C:\\Users\\xxx\\Desktop\\ChangeFolder'
# 获取文件夹中的所有文件
file_list = os.listdir(folder_path)
# 定义正则表达式模式,匹配以数字开头的部分
pattern = re.compile(r'^\d\d\d\d\d-')
# 遍历文件列表
for file_name in file_list:
# 检查文件是否是图片文件(可以根据需要扩展支持的图片文件类型)
if file_name.lower().endswith(('.jpg', '.jpeg', '.png', '.gif', '.bmp')):
# 使用正则表达式替换文件名
new_file_name = re.sub(pattern, '', file_name)
# 构建新的文件路径
old_file_path = os.path.join(folder_path, file_name)
new_file_path = os.path.join(folder_path, new_file_name)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f'Renamed: {file_name} to {new_file_name}')
print("ok")