# coding: utf-8 import os import hashlib import filecmp #################################### # 同步目录与文件脚本 # 作者:川爷 #################################### # 基点目录 path_base = "/Users/chuanye/Pictures/test" # 需同步目录 path_t = "/Users/chuanye/Pictures/metest" # 排除文件或目录 excludeArr = ["jdbc.properties", "log4j.properties", "pages.properties"] def copy_file(paths, patht): for filename in os.listdir(paths): filename_s = paths+os.sep+filename filename_t = patht+os.sep+filename # 排除文件或目录 # 是否排除 默认否 exclude = False for x in excludeArr: if x == filename: exclude = True print('[排除文件] "%s" ' % filename) break if exclude: continue # 判断路径是否为目录 if os.path.isdir(filename_s): # 如果同步目录不存在则创建 if not os.path.exists(filename_t): os.mkdir(filename_t) copy_file(filename_s, filename_t) else: # 判断同步文件是否存在 #print(filename_t) if os.path.exists(filename_t): # 如果存在则判断文件内容是否一致 if filecmp.cmp(filename_s, filename_t): print('[文件内容一致] "%s"' % filename_t) else: print('[同步文件] "%s" ' % filename_t) with open(filename_s, 'rb') as f_s: data_s = f_s.read() with open(filename_t, 'wb') as f_t: f_t.write(data_s) # 同步文件不存在 则写入 else: print('[同步文件] "%s" ' % filename_t) with open(filename_s,'rb') as f_s: data_s = f_s.read() with open(filename_t, 'wb') as f_t: f_t.write(data_s) copy_file(path_base, path_t)
若本文章侵犯了您的著作权,请联系我删除 QQ:695898855