Скопируйте несколько файлов из подпапки в одну папку

У меня есть папка с подпапками, каждая из которых содержит множество разных файлов. Я хотел бы скопировать все файлы (не подкаталоги) в одну папку

import os
import shutil

src = r'C:\TEMP\dir'
dest = r'C:\TEMP\new'

src_files = os.listdir(src)
for file_name in src_files:
    full_file_name = os.path.join(src, file_name)
    if (os.path.isfile(full_file_name)):
        shutil.copy(full_file_name, dest)

когда я запускаю код, ошибки не возникает, но файлы не копируются. Я не знаю, что не так с кодом.

1 ответ

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

import os
import shutil

src = r'C:\TEMP\dir'
dest = r'C:\TEMP\new'

for path, subdirs, files in os.walk(src):
    for name in files:
        filename = os.path.join(path, name)
        shutil.copy2(filename, dest)
Другие вопросы по тегам