Найти - Пользователи
Полная версия: Проверка строки на наличие запрещенных символов
Начало » Python для новичков » Проверка строки на наличие запрещенных символов
1 2 3
papuas
Тут почитайте.
И повставляйте символы в 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
1 мин гугления - https://stackoverflow.com/questions/6745097/how-to-check-for-platform-incompatible-folder-file-names-in-python
JOHN_16
А что если я предложу неожиданное решение?
 exceptions = {'\\', '/', '|', '<', '>', '?', ':', '"', '*'}
def my_check(s):
    return bool(set(s).intersection(exceptions))
SomethingButNotNickName
JOHN_16
А что если я предложу неожиданное решение?
Вот! Выглядит круто. И наверняка быстро. Ушел тестить, Спасибо.
papuas
JOHN_16
А что если я предложу неожиданное решение?
Нот бэд.
Но что-то не пойму, а что автор собрался скриптами создавать триллионы папок каждую секунду ?
вопрос стоял вроде так - как создать валидные имена папок в виндузе, а не как быстрее создать?

JOHN_16
papuas
Но что-то не пойму, а что автор собрался скриптами создавать триллионы папок каждую секунду ?
ну конечно же нет, этот синдром называется “Преждевременная оптимизация”, или его запущенна версия “Экономия на спичках”
papuas
вопрос стоял вроде так - как создать валидные имена папок в виндузе, а не как быстрее создать?
Автор имеет в голове смешанный поток сознания, поэтому по итогу оба понятия переплились.
SomethingButNotNickName
JOHN_16
Т_Т.

А это лечится?
SomethingButNotNickName
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
JOHN_16
SomethingButNotNickName
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
потому что Вы неопытный пользователь питона и объяснять вам некоторые вещи … ну мне например сложно настолько что на грани невозможно. Хотя бы потому что вот в этой фразе уже есть ошибка.
SomethingButNotNickName
А это лечится?
Да, опытом.
papuas
SomethingButNotNickName
Почему тяга к прекрасному (а как еще назвать попытку написания скрипта с меньшим временем работы) так жестоко осуждается обществом?
Не,не,не…
это Вы уважаемый путаете теплое с мягким.
никто, ничего не осуждал.
да и тяги к прекрасному у Вас пока маловато.
SomethingButNotNickName
Можно максимально подробно объяснить, что делает эта (вторая) строка. И что за объект получается на выходе.
 exception_chars = '\\\/\|<>\?:"\*'
find_exceptions = re.compile('([{}])'.format(exception_chars))
Т.е. что делает compile я понимаю. А тут куча разных скобок и назначение каждых из них мне не особо понятно. Например, круглые (которые внутри кавычек) вообще можно убрать и вроде все так же работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB