python - 使用 Python 从多个文件夹中提取所有文件

标签 python python-3.x

我写下这段代码:

import shutil

files = os.listdir(path, path=None)
for d in os.listdir(path):
    for f in files:
        shutil.move(d+f, path)

我希望给定目录 (path) 中的每个文件夹都包含文件,该文件夹中包含的文件将移动到文件夹所在的主目录 (path)包含在内。

例如: 此文件夹中的文件:C:/example/subfolder/ 将移动到:C:/example/

(目录将被删除。) 抱歉我的英语不好:)

最佳答案

这应该是您要查找的内容,首先我们获取主文件夹中的所有子文件夹。然后对于每个子文件夹,我们获取包含在其中的文件,并为 shutil.move 创建我们的源路径和目标路径。

import os
import shutil

folder = r"<MAIN FOLDER>"
subfolders = [f.path for f in os.scandir(folder) if f.is_dir()]

for sub in subfolders:
    for f in os.listdir(sub):
        src = os.path.join(sub, f)
        dst = os.path.join(folder, f)
        shutil.move(src, dst)

关于python - 使用 Python 从多个文件夹中提取所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792626/

相关文章:

python - 获取 HTTP 请求的 TTFB(到第一个字节的时间)

python - 一对一比较 pandas Dataframe 列值

python - Seaborn 条形图,其中 2 个条形图具有相同标签

python - 将映射转换为列表返回 TypeError : 'int' object is not callable

python - 在 Python 中打开文件以查看各个位

python - 创建日志文件

python - 如何解决绘制函数时 Axes3D 错误?

python - Pandas read_csv中的日期时间dtypes

python - Django unique_together 不防止重复

python - 在一个函数中调用2个函数