亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

武清区| 阳信县| 临城县| 澄江县| 同德县| 略阳县| 荆门市| 包头市| 日土县| 微山县| 霍城县| 武陟县| 富平县| 鄂尔多斯市| 平武县| 时尚| 明水县| 曲阜市| 武清区| 乌兰浩特市| 冕宁县| 阳山县| 道孚县| 永安市| 漳平市| 阿拉善左旗| 瓦房店市| 黄骅市| 渭南市| 蒙山县| 嘉善县| 江华| 刚察县| 安丘市| 牙克石市| 贡山| 漳浦县| 祥云县| 安达市| 普宁市| 治多县|