-2

我想制作一个从 src 递归复制到 dest 的 python 脚本,并且我还想制定一些规则,比如它不应该复制 .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)
4

1 回答 1

0

也许这可以帮助你:

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) 
于 2019-10-30T10:14:40.873 回答