【发布时间】:2011-12-13 09:21:14
【问题描述】:
我正在尝试编写一个小的 python 脚本来通过搜索和替换来重命名一堆文件名。例如:
原始文件名: MyMusic.Songname.Artist-mp3.iTunes.mp3
意向结果: 歌曲名.Artist.mp3
到目前为止我得到的是:
#!/usr/bin/env python
from os import rename, listdir
mustgo = "MyMusic."
filenames = listdir('.')
for fname in fnames:
if fname.startswith(mustgo):
rename(fname, fname.replace(mustgo, '', 1))
(据我所知是从这个网站得到的)
无论如何,这只会删除开头的字符串,而不是文件名中的那些。
我还想使用一个单独的文件(例如 badwords.txt),其中包含所有应该搜索和替换的字符串,这样我就可以更新它们而无需编辑整个代码。
Content of badwords.txt
MyMusic.
-mp3
-MP3
.iTunes
.itunes
我已经搜索了很长时间,但没有找到任何东西。非常感谢任何帮助!
谢谢!
【问题讨论】:
-
对于一些小而脏的脚本来更改文件名 Perl 工作得更好,特别是由于强大的 RegEx 支持和易于运行的系统命令。
标签: python linux filenames rename