使用 re 和 glob 库更改路径中的文件夹以进行写入

Changing a folder in a path for writing using re and glob libraries

我有两个目录:path/to/folderpath/to/otherfolder,它们里面都有几个子目录:path/to/folder/TEST1path/to/folder/TEST2path/to/otherfolder/TEST1path/to/otherfolder/TEST2,等等

我正在使用 folder_path = glob.glob('path/to/folder/*')

获取根文件夹中的所有子目录

然后我遍历每个子目录以获取其中的所有文件:

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 库?

看起来问题出在 glob 模式上。而不是:

    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: