Извлечь все файлы из нескольких папок с помощью Python - PullRequest
0 голосов
/ 10 ноября 2019

Я записал этот код:

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/

(и каталог будет удален.) Извинитеза мой плохой английский:)

Ответы [ 2 ]

2 голосов
/ 10 ноября 2019

Это должно быть то, что вы ищете, сначала мы получаем все подпапки в нашей главной папке. Затем для каждой подпапки мы получаем файлы, содержащиеся внутри, и создаем наш исходный путь и путь назначения для 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)
0 голосов
/ 10 ноября 2019

Вот еще один пример, использующий несколько строк с glob

import os
import shutil
import glob

inputs=glob.glob('D:\\my\\folder_with_sub\\*')
outputs='D:\\my\\folder_dest\\'

for f in inputs:
    shutil.move(f, outputs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...