Проблема при рекурсивном и выборочном копировании папки в Python Scipt - PullRequest
0 голосов
/ 30 октября 2019

Я хочу создать скрипт на python, который рекурсивно копирует из src в dest, и я также хочу создать некоторые правила, например, чтобы он не копировал файлы .py или .log. Я должен попробовать ignore_pattern, но с использованием shutil.copyfile. Все файлы копируются в одни и те же каталоги назначения. Подкаталоги не создаются. Пожалуйста, помогите мне с этим.

КОД:

import os
import re
from datetime import datetime
from distutils.file_util import copy_file

file1 = open("E:\Test\upgrade.log","a")  
log=""""""
src="E:\Test\src"
dest="E:\Test\dest"
src_files =os.listdir(src)
filtered_files = [i for i in src_files if not re.findall(".bmp",i)]
for file_name in filtered_files:
    full_file_name = os.path.join(src, file_name)
    log = log + datetime.now().strftime("%d/%m/%Y %H:%M:%S")+" "+ file_name
    if os.path.isfile(full_file_name):
        log = log + " Copied Successfully to " + dest
        copy_file(full_file_name,dest)
    log = log + "\n"    
file1.write(log)
file1.close()
print(log)

1 Ответ

0 голосов
/ 30 октября 2019

Может быть, это может вам помочь:

import os
import shutil

def cpy(src_folder, dest_folder)
   for root, dirs, files in os.walk(src_folder):  
      for file in files:
         file_type = os.path.splitext(file)[1]
         if str(file_type) == "py" or if str(file_type) == "log":
             continue
         else:
             path_file = os.path.join(root,file)
             shutil.copy2(path_file, dest_folder) 
...