91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python同步兩個文件夾下的內容

發布時間:2020-08-19 19:43:06 來源:腳本之家 閱讀:301 作者:迦藍葉 欄目:開發技術

本文實例為大家分享了python同步兩個文件夾下的內容,供大家參考,具體內容如下

import os
import shutil
import time
import logging
import filecmp
#日志文件配置
log_filename ='synchro.log'
#日志輸出格式化
log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'
logging.basicConfig(format=log_format,datefmt='%Y-%m-%d %H:%M:%S %p',level=logging.DEBUG) 
#日志輸出到日志文件
fileLogger = logging.getLogger('fileLogger')
fh = logging.FileHandler(log_filename)
fh.setLevel(logging.INFO)
fileLogger.addHandler(fh);
#需要同步的文件夾路徑,可以使用絕對路徑,也可以使用相對路徑
synchroPath2 = r'/home/xxx/image1'
synchroPath3 = r'/home/xxx/image2'

#同步方法
def synchro(synchroPath2,synchroPath3):
 leftDiffList = filecmp.dircmp(synchroPath2,synchroPath3).left_only
 rightDiffList = filecmp.dircmp(synchroPath2,synchroPath3).right_only
 commondirsList =filecmp.dircmp(synchroPath2,synchroPath3).common_dirs
 for item in leftDiffList:
  copyPath = synchroPath2 + '/' + item
  pastePath = synchroPath3 + '/' + item
  if(os.path.isdir(copyPath)):
   copyDir(copyPath,pastePath)
  else :
   shutil.copy2(copyPath,pastePath)
   fileLogger.info('copy '+copyPath +" to "+pastePath)
 for item in rightDiffList:
  copyPath = synchroPath3 + '/' + item
  pastePath = synchroPath2 +'/' + item
  if(os.path.isdir(copyPath)):
   copyDir(copyPath,pastePath)
  else :
   shutil.copy2(copyPath,pastePath)
   fileLogger.info('copy '+copyPath +" to "+pastePath)
 for item in commondirsList:
  copyPath = synchroPath3 + '/' + item
  pastePath = synchroPath2 +'/' + item
  syncDir(copyPath,pastePath)
#拷貝文件夾,如果文件夾不存在創建之后直接拷貝全部,如果文件夾已存在那么就同步文件夾  
def copyDir(copyPath,pastePath):
 if(os.path.exists(pastePath)):
  synchro(copyPath,pastePath)
 else :
  os.mkdir(pastePath)
  shutil.copytree(copyPath,pastePath)
#子文件夾左右兩側文件夾都包含,就同步兩側子文件夾
def syncDir(copyPath,pastePath):
  copyDir(copyPath,pastePath)
  copyDir(pastePath,copyPath)
while(True):
 synchro(synchroPath2,synchroPath3)
 logging.debug('synchro run')
 #阻塞方法,上一步執行結束后等待五秒
 time.sleep(5)

代碼簡單,但是不優雅,歡迎指正。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博野县| 万全县| 长宁区| 澎湖县| 讷河市| 祁门县| 台南市| 霍城县| 丹凤县| 弥勒县| 南安市| 福海县| 枣阳市| 卢龙县| 榕江县| 汪清县| 商洛市| 苏尼特右旗| 仪陇县| 同心县| 乌拉特前旗| 延长县| 宝坻区| 定远县| 鄄城县| 徐闻县| 尼玛县| 军事| 房产| 临漳县| 镶黄旗| 拜城县| 理塘县| 雷山县| 新沂市| 芷江| 金川县| 威海市| 辽源市| 陇川县| 宁都县|