Таким образом, вывод, который вы включили, показывает, что первое имя файла совпадает, а второе - нет. Если мы посмотрим на документацию для поиска , то увидим, что он вернет объект Match
, если было совпадение, или None
, если его не было.
Нет - это специальное значение в python (например, NULL) в других языках, которое представляет «ничто». У него просто нет replace
метода! Это именно то, что говорит ошибка.
Итак, вам нужно сначала проверить, получил ли вы вообще результат в первую очередь:
if getdate:
date = getdate.group(0).replace('_', '-')
Итак, проверьте, есть ли у вас «что-то» (как против "Нет"), чем делать свою операцию на чем-то. Вы также можете найти этот шаблон в документации .
Обратите внимание, что search
не не возвращает строку. Возвращает Match
Объект (или Нет). Ваше регулярное выражение может использовать группы для захвата нескольких вещей, но в этом случае у вас есть только одна, которая находится в группе 0. Это дает вам фактическую строку.