aCL
Апрель 22, 2014 15:00:05
Есть скрипт, который парсит сайт с книгами и складывает полученные файлы (.zip) в положенную папку. Имя файла - название_книги.zip. Название книги получаю с сайта, может содержать символы “:*?”<>|", т.е. те символы, с которыми сохранять файл в винде невозможно. Есть ли строковая функция, удаляющие эти символы? Естественно, нужно оставлять запятые, тире и т.п. Думал пробегать по строке несколькими replace'ами, но как-то неэлегантно…
pylin
Апрель 22, 2014 16:12:36
Я думаю, стоит посмотреть в сторону регулярных выражений и модуля re. По-моему именно функции, чтобы нормализовывала строки под правила именования файлов в windows/*nix нет.
JOHN_16
Апрель 23, 2014 00:04:02
aCLfilename=s.translate(None, ':*?”<>|')
где s, естественно, исходная строка. Думаю достаточно элегантно.
aCL
Апрель 23, 2014 13:19:43
Ооо, точно, регулярки. Про них пока только пару статеек прочитал, видимо, время ими заняться.
Спасибо)