簡體   English   中英

使用Python區分兩個文件夾(如Linux中的diff工具)

[英]Diffing two folders (like the diff tool in Linux) with Python

我正在嘗試編寫一個包含一些自治組件的項目。 其中之一是需要區分兩個文件夾並將不同的文件吐出到字符串數組中。 Dircmp做到了這一點-它吐出了不同的文件。 但是,看起來與其他文件夾中的同一文件相比,實際上並沒有進入其余文件中以查看哪些文件有所不同。

目前,我使用了difflib和filecmp,除非我做錯了什么,否則如果不從頭開始編寫全部內容,我將找不到找到所需內容的方法。 我需要這個的原因是因為此python腳本將部署在Windows boxen上,而標准linux diff工具將不可用。

我唯一的其他想法是僅從命令行調用diff等,但這並不能解決我的任何一個問題(將文件放在數組中並且不需要GNU工具)。

誰能幫我? 我仍然對python完全了解,非常感謝專家的建議。 謝謝!

似乎filecmp.dircmp已經完成了您想要的操作。 如果比較兩個目錄,則diff_files將是兩個目錄中文件的列表,但是它們的內容不同:

>>> dc = filecmp.dircmp('dir1', 'dir2')
>>> dc.diff_files
<<< ['foo']

正如喬納森(Jonathanb)指出的那樣,如果您想要實際的差異,那么在此時使用difflib很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM