国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用Python進行目錄的對比方法

2020-01-04 14:09:41
字體:
供稿:網(wǎng)友

如果進行單個文件的比較,可以使用difflib模塊。雖然filecmp模塊也能夠進行單個文件的對比,但是前者能夠提供觀感更好的報告。如果我們只是想看一下兩個目錄中的某個文件是否一致而不關(guān)系其中的內(nèi)容,那么后者或許是更改選的選擇。

如果進行目錄的對比,那么可以使用filecmp模塊了。

在IPython中進行簡單的命令交互演示功能如下:

In [1]: import filecmpIn [2]: lsChapter_01/ Chapter_02/In [3]: dirobj = filecmp.dircmp('Chapter_01','Chapter_02')

輸出兩個目錄差異報告

In [4]: dirobj.report()diff Chapter_01 Chapter_02Only in Chapter_01 : ['ip.py', 'os_mem.py', 'pid.py']Only in Chapter_02 : ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']Identical files : ['c01.py']

輸出部分報告(最外面的目錄曾經(jīng),這里與第一個無差異是因為沒有子目錄)

In [5]: dirobj.report_partial_closure()diff Chapter_01 Chapter_02Only in Chapter_01 : ['ip.py', 'os_mem.py', 'pid.py']Only in Chapter_02 : ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']Identical files : ['c01.py']

輸出全部報告

In [6]: dirobj.report_full_closure()diff Chapter_01 Chapter_02Only in Chapter_01 : ['ip.py', 'os_mem.py', 'pid.py']Only in Chapter_02 : ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']Identical files : ['c01.py']

查看一下輸出結(jié)果對象格式,這個格式略顯奇怪了一些

In [7]: type(dirobj.report_full_closure())diff Chapter_01 Chapter_02Only in Chapter_01 : ['ip.py', 'os_mem.py', 'pid.py']Only in Chapter_02 : ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']Identical files : ['c01.py']Out[7]: NoneType

嘗試把結(jié)果對象轉(zhuǎn)換為字符串

In [8]: str(dirobj.report_full_closure())diff Chapter_01 Chapter_02Only in Chapter_01 : ['ip.py', 'os_mem.py', 'pid.py']Only in Chapter_02 : ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']Identical files : ['c01.py']Out[8]: 'None'

輸出左邊目錄的清單

In [9]: dirobj.left_listOut[9]: ['c01.py', 'ip.py', 'os_mem.py', 'pid.py']

右邊目錄清單

In [10]: dirobj.right_listOut[10]: ['c01.py', 'd1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']

僅在右邊目錄中存在的文件清單

In [11]: dirobj.right_onlyOut[11]: ['d1.py', 'd2.py', 'diff.py', 'diff.zip', 'dns_parser.py', 'join.py', 'pydiff.py', 'report.html']

共有的子目錄

In [12]: dirobj.common_dirsOut[12]: []

共有的文件

In [13]: dirobj.common_filesOut[13]: ['c01.py']

無法比較的目錄

In [14]: dirobj.common_funnyOut[14]: []

相同的文件

In [15]: dirobj.same_filesOut[15]: ['c01.py']

無法比較的文件

In [16]: dirobj.funny_filesOut[16]: []

在MATLAB中有一個我經(jīng)常使用的命令——visdiff,可以用于文件或者目錄的對比。如此比較下來,Python基本上也提供了MATLAB相應(yīng)命令所提供的功能。不過,MATLAB的使用更為簡單,似乎也更為細致一些。不過,考慮使用Python還是有必要的。首先是Python免費,其次是啟動速度大概比MATLAB快不少吧!除此之外,現(xiàn)在的Python湊代碼也是蠻簡單的,在自己需要的時候幾行代碼拼湊一般就能夠?qū)崿F(xiàn)自己要的功能了。

以上這篇使用Python進行目錄的對比方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹棱县| 蕲春县| 沁水县| 温宿县| 南京市| 高要市| 樟树市| 西充县| 株洲市| 安龙县| 桃园市| 额尔古纳市| 彭山县| 北海市| 芮城县| 高碑店市| 盖州市| 嘉善县| 乌审旗| 阿克| 德阳市| 常德市| 镇沅| 张家港市| 龙泉市| 新邵县| 同仁县| 济源市| 乡城县| 九龙县| 富民县| 富川| 马边| 铜梁县| 虞城县| 海丰县| 扬州市| 沂南县| 阿克| 榆林市| 盱眙县|