Я хочу создать на Python функцию для поиска и перемещения файлов, где я могу указать шаблон в стиле glob для поиска исходных файлов, а затем второй шаблон, описывающий, куда их переместить. По сути, мне нужны группы соответствия регулярных выражений для шаблонов glob.
Пример
Например, я хотел бы иметь возможность делать что-то вроде:
Код: Выделить всё
move('./a/**/foo/**/*.json', r'./new/\2/\1/\3.txt')- = b/c
Код: Выделить всё
\1 - = бар/бат
Код: Выделить всё
\2 - = test
Код: Выделить всё
\3
Что я пробовал
Я знаю, что могу преобразовать шаблон glob в регулярное выражение с помощью glob.translate(), но создаваемое им регулярное выражение соответствует весь шаблон и не создает никаких групп.
Я также думал о том, чтобы попытаться заменить специальные символы в шаблоне glob эквивалентом регулярного выражения, который содержит группы совпадений, а затем сопоставить полученный шаблон с расширенным путем, который будет найден, но кажется, что в этом подходе есть много крайних случаев, которых следует опасаться, особенно с [].
Есть ли более простой способ сделать это, например, существующая библиотека?
Подробнее здесь: https://stackoverflow.com/questions/798 ... other-path
Мобильная версия