【发布时间】:2023-03-26 15:17:01
【问题描述】:
我想在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...]
【问题讨论】:
-
os是os.rename(src, tgt)的最佳选择 - 我没有 mac 但它应该是不错的选择。 -
鉴于您刚才分享的当前方法,有什么问题?它有效吗?你需要它来提高效率吗?此外,如果您只是将列表扔掉并且只需要
os.rename来获得它的副作用,那么使用列表组合会浪费内存。 -
@ggorlen 只是想知道我是否可以在不使用 python 的情况下做到这一点。即,如果在 os(甚至 unix)中可能有一种方法可以在没有某种形式的脚本的情况下对一批文件进行重命名。我在 OSX 中找到了“批量重命名”,但据我所知,它不支持正则表达式。
-
哦,好吧——所以,没有 Python。从您最初的问题来看,这对我来说并不是很明显。