一些背景信息:我們有一個古老的基於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