一些背景信息:我们有一个古老的基于Web的文档数据库系统,我的工作几乎完全由MS Office文档组成,具有“常规”扩展名(.doc,.xls, .PPT)。它们都是基于某种任意ID号命名的(即1245.doc)。我们正在切换到SharePoint,我需要重命名所有这些文件并将它们分类到文件夹中。我有一个包含各种信息的CSV文件(比如哪个ID号对应哪个文件的标题),所以我用它来重命名这些文件。我写了一个简短的Python脚本,重新命名ID号标题。Python string.replace()不能替换字符
然而,一些文件的标题有斜线和其他可能的坏字符有一个文件的标题,所以我想用下划线代替他们:
bad_characters = ["/", "\\", ":", "(", ")", "<", ">", "|", "?", "*"]
for letter in bad_characters:
filename = line[2].replace(letter, "_")
foldername = line[5].replace(letter, "_")
- 例
line[2]
“等等等等无聊 - 会议2月19日/版本说明Page” 的line[5]
- 例: “商务会议2/2008”
当我添加0123在for
循环中,它会打印出它应该替换的字母,但实际上并不会用我想要的下划线替换该字符。
有什么我在这里做错了吗?
切线问题:你有没有考虑过用正则表达式来做这个? – 2010-08-19 15:03:42
@all - 感谢您的解释。我不能相信我忽略了这一点。 (thursdays ...) – ZeroUptime 2010-08-19 15:09:45