Python模組filecmp 檔案比較

2021-09-20 20:54:14 字數 1235 閱讀 8504

filecmp模組用於比較檔案及資料夾的內容,它是乙個輕量級的工具,使用非常簡單。python標準庫還提供了difflib模組用於比較檔案的內容。關於difflib模組,且聽下回分解。

filecmp定義了兩個函式,用於方便地比較檔案與資料夾:

filecmp.cmp(f1, f2[, shallow]):

比較兩個檔案的內容是否匹配。引數f1, f2指定要比較的檔案的路徑。可選引數shallow指定比較檔案時是否需要考慮檔案本身的屬性(通過os.stat函式可以獲得檔案屬性)。如果檔案內容匹配,函式返回true,否則返回false。

filecmp.cmpfiles(dir1, dir2, common[, shallow]):

比較兩個資料夾內指定檔案是否相等。引數dir1, dir2指定要比較的資料夾,引數common指定要比較的檔名列表。函式返回包含3個list元素的元組,分別表示匹配、不匹配以及錯誤的檔案列表。錯誤的檔案指的是不存在的檔案,或檔案被瑣定不可讀,或沒許可權讀檔案,或者由於其他原因訪問不了該檔案。

filecmp模組中定義了乙個dircmp類,用於比較資料夾,通過該模擬較兩個資料夾,可以獲取一些詳細的比較結果(如只在a資料夾存在的檔案列表),並支援子資料夾的遞迴比較。

dircmp提供了三個方法用於報告比較的結果

例子:在資料夾"1"中含有檔案"1.txt", 在資料夾"2"中含有檔案"1.txt"和"2.txt",其兩個資料夾下面的檔案"1.txt"內容一樣,

>>>import filecmp

>>>x = filecmp.dircmp("1", "2")

>>>x.report()

>>>

diff 1 2

only in 2 : ['2.txt']

identical files : ['1.txt']

如果兩個資料夾下面的檔案"1.txt"內容不相同那麼結果如下:

>>>import filecmp

>>>x = filecmp.dircmp("1", "2")

>>>x.report()

>>>

diff 1 2

only in 2 : ['2.txt']

differing files : ['1.txt'] 

dircmp還提供了下面這些屬性用於獲取比較的詳細結果

python模組詳解 filecmp

簡介 filecmp是python內建的乙個模組,用於比較檔案及資料夾的內容,它是乙個輕量級的工具,使用非常簡單 兩個主要的方法 比較兩個檔案的內容是否匹配。引數f1,f2指定要比較的檔案的路徑。可選引數shallow指定比較檔案時是否需要考慮檔案本身的屬性 通過os.stat函式可以獲得檔案屬性 ...

通過Python模組filecmp 對檔案比較

filecmp定義了兩個函式,用於方便地比較檔案與資料夾 filecmp.cmp f1,f2 shallow 比較兩個檔案的內容是否匹配。引數f1,f2指定要比較的檔案的路徑。可選引數shallow指定比較檔案時是否需要考慮檔案本身的屬性 通過 os.stat函式可以獲得檔案屬性 如果檔案內容匹配,...

python之模組filecmp 檔案 目錄比較

coding utf 8 python 27 xiaodeng python之模組filecmp 檔案 目錄比較 用於比較檔案及資料夾的內容.他是輕量級的工具.可以做一些簡單的檔案比較操作,將電腦上相同的檔案進行刪除去重處理 import filecmp 1 匹配2個檔案的內容是否匹配,引數為檔案路...