python實(shí)現(xiàn)比較文件內(nèi)容異同
本文實(shí)例為大家分享了python實(shí)現(xiàn)比較文件內(nèi)容異同的具體代碼,供大家參考,具體內(nèi)容如下
import sys import difflib import time import os """ 創(chuàng)作時(shí)間:2017-10-08 23:30 09 版本: 1.0.0 """ def main(): """主函數(shù)""" try: f1 = sys.argv[1]#獲取文件名 f2 = sys.argv[2] except Exception as e: print("Error: "+ str(e)) print("Usage : python compareFile.py filename1 filename2") sys.exit() if f1 == "" or f2 == "":#參數(shù)不夠 print("Usage : python compareFile.py filename1 filename2") sys.exit() tf1 = readFile(f1) tf2 = readFile(f2) d = difflib.HtmlDiff()#創(chuàng)建一個(gè)實(shí)例difflib.HtmlDiff writeFile(d.make_file(tf1,tf2))#生成一個(gè)比較后的報(bào)告文件,格式為html def readFile(filename): """讀取文件,并處理""" try: fileHandle = open(filename, "r") text = fileHandle.read().splitlines() fileHandle.close() return text except IOError as e: print("Read file error: "+ str(e)) sys.exit() def writeFile(file): """寫入文件""" diffFile = open('diff_{}_.html'.format(time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())), "w") diffFile.write("<meta charset='UTF-8'>") diffFile.write(file) print("The file on {}".format(os.path.abspath(str(diffFile.name))))#提示文件生成在什么地方 diffFile.close() if __name__ == "__main__": main()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pip安裝提示Twisted錯(cuò)誤問題(Python3.6.4安裝Twisted錯(cuò)誤)
這篇文章主要介紹了pip安裝提示Twisted錯(cuò)誤問題(Python3.6.4安裝Twisted錯(cuò)誤),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python?中?threading.Thread.join()?的使用方法示例詳解
threading.Thread.join()用于阻塞當(dāng)前線程,直到調(diào)用它的線程對(duì)象執(zhí)行完成或者超時(shí),在Python中,想要充分利用多線程的優(yōu)勢(shì),就需要對(duì)threading模塊中的 Thread 類了解,這里有一個(gè)非常簡(jiǎn)單的多線程程序,幫助理解 threading.Thread.join 方法,感興趣的朋友跟隨小編一起看看吧2024-06-06python學(xué)習(xí)——內(nèi)置函數(shù)、數(shù)據(jù)結(jié)構(gòu)、標(biāo)準(zhǔn)庫的技巧(推薦)
這篇文章主要介紹了python學(xué)習(xí)——內(nèi)置函數(shù)、數(shù)據(jù)結(jié)構(gòu)、標(biāo)準(zhǔn)庫的技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python ValueError: invalid literal for int() with base 10 實(shí)用
這篇文章主要介紹了Python ValueError: invalid literal for int() with base 10 實(shí)用解決方法,本文使用了一個(gè)取巧方法解決了這個(gè)問題,需要的朋友可以參考下2015-06-06python 讀寫txt文件 json文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵ython 讀寫、創(chuàng)建 文件的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10關(guān)于Python中幾個(gè)有趣的函數(shù)和推導(dǎo)式解析
這篇文章主要介紹了關(guān)于Python中幾個(gè)有趣的函數(shù)和推導(dǎo)式解析,推導(dǎo)式comprehensions,又稱解析式,是Python的一種獨(dú)有特性,推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體,需要的朋友可以參考下2023-08-08Python3爬蟲關(guān)于識(shí)別檢驗(yàn)滑動(dòng)驗(yàn)證碼的實(shí)例
在本篇內(nèi)容里小編給大家分享了關(guān)于Python3爬蟲關(guān)于識(shí)別檢驗(yàn)滑動(dòng)驗(yàn)證碼的實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-07-07解決啟動(dòng)django,瀏覽器顯示“服務(wù)器拒絕訪問”的問題
這篇文章主要介紹了解決啟動(dòng)django,瀏覽器顯示“服務(wù)器拒絕訪問”的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python Django 頁面上展示固定的頁碼數(shù)實(shí)現(xiàn)代碼
這篇文章主要介紹了Python Django 頁面上展示固定的頁碼數(shù)實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Django import export實(shí)現(xiàn)數(shù)據(jù)庫導(dǎo)入導(dǎo)出方式
這篇文章主要介紹了Django import export實(shí)現(xiàn)數(shù)據(jù)庫導(dǎo)入導(dǎo)出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04