Форум сайта python.su
Тут почитайте.
И повставляйте символы в ILLEGAL_CHARS
import re test_str = 'so|m}e:te^xt\\31\K`-34//>' ILLEGAL_CHARS = "[<>`{}^&:/\\|?*\"]|[\0-\31]" def __removeIllegalChars(name): return re.sub(ILLEGAL_CHARS, "", name) print(__removeIllegalChars(test_str)) sometext\31\K-34 Process finished with exit code 0
Отредактировано papuas (Март 5, 2018 16:36:11)
Офлайн
А что если я предложу неожиданное решение?
exceptions = {'\\', '/', '|', '<', '>', '?', ':', '"', '*'} def my_check(s): return bool(set(s).intersection(exceptions))
Офлайн
JOHN_16Вот! Выглядит круто. И наверняка быстро. Ушел тестить, Спасибо.
А что если я предложу неожиданное решение?
Офлайн
JOHN_16Нот бэд.
А что если я предложу неожиданное решение?
Офлайн
papuasну конечно же нет, этот синдром называется “Преждевременная оптимизация”, или его запущенна версия “Экономия на спичках”
Но что-то не пойму, а что автор собрался скриптами создавать триллионы папок каждую секунду ?
papuasАвтор имеет в голове смешанный поток сознания, поэтому по итогу оба понятия переплились.
вопрос стоял вроде так - как создать валидные имена папок в виндузе, а не как быстрее создать?
Офлайн
JOHN_16Т_Т.
Офлайн
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
Офлайн
SomethingButNotNickNameпотому что Вы неопытный пользователь питона и объяснять вам некоторые вещи … ну мне например сложно настолько что на грани невозможно. Хотя бы потому что вот в этой фразе уже есть ошибка.
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
SomethingButNotNickNameДа, опытом.
А это лечится?
Офлайн
SomethingButNotNickNameНе,не,не…
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
Отредактировано papuas (Март 5, 2018 17:20:50)
Офлайн
Можно максимально подробно объяснить, что делает эта (вторая) строка. И что за объект получается на выходе.
exception_chars = '\\\/\|<>\?:"\*' find_exceptions = re.compile('([{}])'.format(exception_chars))
Офлайн