最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python filecmp.dircmp實現(xiàn)遞歸比對兩個目錄的方法

 更新時間:2020年05月22日 10:04:16   作者:longfeiwlf  
這篇文章主要介紹了python filecmp.dircmp實現(xiàn)遞歸比對兩個目錄的方法,本文通過實例代碼給大家介紹的非常詳細(xì),大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

使用python filecmp模塊的dircmp類可以很方便的比對兩個目錄,dircmp的用法已經(jīng)有很多文章介紹,不再贅述。

可以help(filecmp.dircmp)查看幫助信息,其中提到的x.report()、x.report_partial_closure(),都只能打印兩目錄一級子目錄的比較信息。而x.report_full_closure()可以遞歸打印所有子目錄的比對信息,但是輸出太多,大多數(shù)情況下我們可能只關(guān)心兩目錄的不同之處。

help(filecmp.dircmp) 摘選:            
 
 | High level usage:              
 | x = dircmp(dir1, dir2)             
 | x.report() -> prints a report on the differences between dir1 and dir2 
 |  or                 
 | x.report_partial_closure() -> prints report on differences between dir1
 |   and dir2, and reports on common immediate subdirectories.  
 | x.report_full_closure() -> like report_partial_closure,    
 |   but fully recursive. 

    本文編寫的腳本,重點關(guān)注并實現(xiàn)兩個目標(biāo):

1)遞歸比對兩個目錄及其所有子目錄。

2)僅輸出兩目錄不同之處,包括文件名相同(common_files)但是文件不一致(diff_files),以及左、右目錄中獨有的文件或子目錄。

py腳本compare_dir.py內(nèi)容如下:

# -*- coding: utf-8 -*-
"""
@desc 使用filecmp.dircmp遞歸比對兩個目錄,輸出比對結(jié)果以及統(tǒng)計信息。
@author longfeiwlf
@date 2020-5-20
"""
 
from filecmp import dircmp
import sys
 
# 定義全局變量:
number_different_files = 0 # 文件名相同但不一致的文件數(shù)
number_left_only = 0 # 左邊目錄獨有的文件或目錄數(shù)
number_right_only = 0 # 右邊目錄獨有的文件或目錄數(shù)
 
 
def print_diff(dcmp):
 """遞歸比對兩目錄,如果有不同之處,打印出來,同時累加統(tǒng)計計數(shù)。"""
 global number_different_files
 global number_left_only
 global number_right_only
 for name in dcmp.diff_files:
  print("diff_file found: %s/%s" % (dcmp.left, name))
  number_different_files += 1
 for name_left in dcmp.left_only:
  print("left_only found: %s/%s" % (dcmp.left, name_left))
  number_left_only += 1
 for name_right in dcmp.right_only:
  print("right_only found: %s/%s" % (dcmp.right, name_right))
  number_right_only += 1
 for sub_dcmp in dcmp.subdirs.values():
  print_diff(sub_dcmp) # 遞歸比較子目錄
 
 
if __name__ == '__main__':
 try:
  mydcmp = dircmp(sys.argv[1], sys.argv[2])
 except IndexError as ie:
  print(ie)
  print("使用方法:python compare_dir_cn.py 目錄1 目錄2")
 else:
  print("\n比對結(jié)果詳情: ")
  print_diff(mydcmp)
  if (number_different_files == 0 and number_left_only == 0
    and number_right_only == 0):
   print("\n兩個目錄完全一致!")
  else:
   print("\n比對結(jié)果統(tǒng)計:")
   print("Total Number of different files is: " 
     + str(number_different_files))
   print("Total Number of files or directories only in '"
     + sys.argv[1] + "' is: " + str(number_left_only))
   print("Total Number of files or directories only in '"
     + sys.argv[2] + "' is: " + str(number_right_only))

compare_dir.py腳本使用舉例:

總結(jié)

到此這篇關(guān)于filecmp.dircmp實現(xiàn)遞歸比對兩個目錄的文章就介紹到這了,更多相關(guān)filecmp.dircmp實現(xiàn)遞歸比對兩個目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python Dtale庫交互式數(shù)據(jù)探索分析和可視化界面

    python Dtale庫交互式數(shù)據(jù)探索分析和可視化界面

    這篇文章主要為大家介紹了python Dtale庫交互式數(shù)據(jù)探索分析和可視化界面實現(xiàn)功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python 項目轉(zhuǎn)化為so文件實例

    Python 項目轉(zhuǎn)化為so文件實例

    今天小編就為大家分享一篇Python 項目轉(zhuǎn)化為so文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python調(diào)用shell命令常用方法(4種)

    Python調(diào)用shell命令常用方法(4種)

    這篇文章主要介紹了Python調(diào)用shell命令常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • python實踐項目之監(jiān)控當(dāng)前聯(lián)網(wǎng)狀態(tài)詳情

    python實踐項目之監(jiān)控當(dāng)前聯(lián)網(wǎng)狀態(tài)詳情

    介紹一個利用Python監(jiān)控當(dāng)前聯(lián)網(wǎng)狀態(tài)情況的python代碼,它可以清楚地知道,你的電腦網(wǎng)絡(luò)是否是鏈接成功或失敗,下面小編帶大家來一起學(xué)習(xí)它
    2019-05-05
  • SecureCRTSecure7.0查看連接密碼的步驟

    SecureCRTSecure7.0查看連接密碼的步驟

    SecureCRTSecure7密碼查看的方法大概可以分為兩個步驟,第一步需要查看系統(tǒng)保存的連接的ini文件,第二步破解加密之后的密碼,具體腳本請參考下本文
    2021-06-06
  • Python socket實現(xiàn)的文件下載器功能示例

    Python socket實現(xiàn)的文件下載器功能示例

    這篇文章主要介紹了Python socket實現(xiàn)的文件下載器功能,結(jié)合實例形式分析了Python使用socket模塊實現(xiàn)的文件下載器客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • django admin后臺添加導(dǎo)出excel功能示例代碼

    django admin后臺添加導(dǎo)出excel功能示例代碼

    這篇文章主要介紹了django admin 后臺添加導(dǎo)出excel功能示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Python3.13?+Pycharm?開發(fā)環(huán)境配置

    Python3.13?+Pycharm?開發(fā)環(huán)境配置

    本文全面解釋了如何配置Python3.13和PyCharm的開發(fā)環(huán)境,適合初學(xué)者,詳細(xì)介紹了Python安裝步驟、選擇解釋器、常用快捷鍵和推薦插件,強(qiáng)調(diào)了虛擬環(huán)境的重要性,以及如何使用PyCharm進(jìn)行高效開發(fā),感興趣的可以了解一下
    2024-11-11
  • Python I/O與進(jìn)程的詳細(xì)講解

    Python I/O與進(jìn)程的詳細(xì)講解

    今天小編就為大家分享一篇關(guān)于Python I/O與進(jìn)程的詳細(xì)講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Python解壓可迭代對象賦值給多個變量詳解

    Python解壓可迭代對象賦值給多個變量詳解

    這篇文章主要為大家介紹了Python賦值多個變量,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論

靖远县| 呼玛县| 上虞市| 鸡西市| 武宣县| 资兴市| 大邑县| 涪陵区| 新龙县| 茂名市| 东方市| 土默特左旗| 青海省| 平陆县| 霍林郭勒市| 万宁市| 龙井市| 达拉特旗| 会理县| 墨玉县| 铁力市| 乐亭县| 来凤县| 长乐市| 长泰县| 龙岩市| 磐石市| 团风县| 专栏| 济阳县| 凯里市| 临夏市| 诸城市| 昌江| 师宗县| 大冶市| 五河县| 临桂县| 宝兴县| 桐乡市| 武夷山市|