首页 > 解决方案 > 在mac上重命名一堆文件

问题描述

我想在mac上重命名一堆文件,我想知道是否有一个实用程序可以做到这一点,或者我是否需要进入像python这样的东西。这是我想做的重命名:

在此处输入图像描述

我想 zfill 所以数字的形式是\d{3},即GM008.mp3。mac中有没有办法做到这一点,或者什么可能是最快的方法?我目前正在做的是python中的单线:

[os.rename(src, './GM' + src.split('GM')[1].split('.')[0].zfill(3) + '.mp3') for src in os.listdir('.')]
# ['GM001.mp3', 'GM000.mp3', 'GM003.mp3', 'GM007.mp3', 'GM006.mp3', 'GM012.mp3', 'GM004.mp3', 'GM005.mp3', 'GM008.mp3', 'GM009.mp3', etc...]

标签: pythonlinuxmacos

解决方案


这应该很安全;我们正在寻找与您的 mp3 格式完全匹配的内容,GM\d+\.mp3.mp3使用zfill. os与平台无关。

import os
import re

for fname in [x for x in os.listdir(".") if re.fullmatch(r"GM\d+\.mp3", x)]:
    os.rename(fname, re.sub(r"(\d+)(?=\.mp3)", lambda x: x.group(1).zfill(3), fname))

推荐阅读