Некоторая справочная информация: у нас есть древняя веб-система базы данных документов, где я работаю, почти полностью состоящая из документов MS Office с «обычными» расширениями (.doc, .xls, .ppt). Все они названы на основе произвольного идентификационного номера (например, 1245.doc). Мы переходим на SharePoint, и мне нужно переименовать все эти файлы и рассортировать их по папкам. У меня есть файл CSV со всевозможной информацией (например, какой идентификационный номер соответствует какому названию документа), поэтому я использую его для переименования этих файлов. Я написал короткий скрипт Python, который переименовывает заголовок идентификационного номера.
Однако в названиях некоторых документов есть косая черта и другие, возможно, недопустимые символы в заголовке файла, поэтому я хочу заменить их символами подчеркивания:
bad_characters = ["/", "\\", ":", "(", ")", "<", ">", "|", "?", "*"]
for letter in bad_characters:
filename = line[2].replace(letter, "_")
foldername = line[5].replace(letter, "_")
- Пример
line[2]
: "Бла-бла-скучно - встреча 19.02.2008.doc" - Пример
line[5]
: "Деловые встречи 2/2008"
Когда я добавляю print letter
внутрь цикла for
, он распечатывает букву, которую должен заменить, но на самом деле не заменяет этот символ символом подчеркивания, как я этого хочу.
Есть ли что-то, что я делаю неправильно здесь?