Скопируйте определенные файлы из каталога и подкаталогов в новый каталог Python - PullRequest
0 голосов
/ 18 июня 2019

Я новичок в Python. Я хотел бы скопировать определенные файлы (используя сопоставление с образцом и shutil.copy) из каталога и подкаталогов (используя os.walk) в новый каталог. Код работает только для одного файла из одного подкаталога, но не для нескольких подкаталогов.

Один конкретный файл только в одном подкаталоге можно скопировать в новый каталог с помощью сопоставления с шаблоном и shutil.copy. Когда я хочу сопоставить конкретные файлы из разных подкаталогов, невозможно скопировать в новый каталог.

Вот код для файла в одной подкаталоге:

import os
import shutil
import shutil
from fnmatch import fnmatch

root = r'C:\Users\Fabien.Seychelles\Documents\Projects\Python_weather\Weather_Files'
dest =r'C:\Users\Fabien.Seychelles\Documents\Projects\Python_weather\CSV_converted'

pattern2 = '*TMY*.epw' 

for path, subdirs, files in os.walk(root):
    for filename in files:
        if fnmatch(filename, pattern2):
            shutil.copy(root + '\\'+ filename, dest)

Я думал об использовании рекурсивной копии или shutil.copytree, но я не совсем уверен.

Спасибо

1 Ответ

0 голосов
/ 18 июня 2019

Я предполагаю, что вы на окнах?

Вы можете программно вызвать команду "dir" с помощью подпроцесса или os.system и использовать вывод. Флаги, которые вы можете использовать:

dir /s /b

/ s для подкаталогов и / b для чистого вывода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...