Изменение папки в пути для записи с использованием библиотек re и glob - PullRequest
0 голосов
/ 26 мая 2020

У меня есть два каталога: path/to/folder и path/to/otherfolder, в каждом из которых есть несколько подкаталогов: path/to/folder/TEST1, path/to/folder/TEST2, path/to/otherfolder/TEST1, path/to/otherfolder/TEST2, et c.

Я получаю все подкаталоги в папке root, используя folder_path = glob.glob('path/to/folder/*')

Я затем l oop по каждому подкаталогу, чтобы получить все файлы в них:

for folder in folder_path:
    file_path = glob.glob(folder + '\*')
    for files in file_path:
        new_path = files.replace('folder', 'otherfolder')
        with open(files, r) as f:
            with open(new_path, 'wb') as wf:
                do stuff

Это не работает, так как файлы не записываются. Я думал просто изменить эту строку на files.replace('\\folder\\', '\\otherfolder\\'), но не думаю, что это сработает.

Я хотел бы использовать библиотеку Python re, если у кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 26 мая 2020

Похоже, проблема в шаблоне глобуса. Вместо:

    file_path = glob.glob(folder + '\*')

вы можете попробовать

    file_path = glob.glob(os.path.join(folder, '*'))

?

Это потребует от вас import os в верхней части файла.


Здесь тоже синтаксическая ошибка:

        with open(files, r) as f:

Должно быть:

        with open(files, 'r') as f:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...