1. 程式人生 > >使用Python進行文字資訊的比較並生成HTML報告

使用Python進行文字資訊的比較並生成HTML報告

使用Python可以實現類似Linuxdiff的命令,還能夠輸出HTML文件,這是我一直期待的。如果辦公環境十分封閉,使用diff命令都難的時候,這無疑是很好的補充。

Python中的標準庫有一個difflib,藉助於這個庫就能夠實現所需的比較。

兩個檔案分別如下:

d1.py

  1 from IPyimport IP

  2 

  3 ip1 = IP('192.168.1.2')

  4 ip2 = IP('11.12.13.14')

  5 

  6 print("ip1 type: %s" % ip1.iptype())

  7 print("ip2 type: %s" % ip2.iptype())

  8 

  9 print("ip2 int value: %d" % ip2.int())

 10 print("ip2 hex value: %s" % ip2.strHex())

 11 print("ip2 bin value: %s" % ip2.strBin())

 12 

 13 print("IP for 0x1234567: %s" % IP(0x1234567))

 14 

d2.py

  1 from IPyimport IP

  2 

  3 ip1 = IP('192.168.1.2')

  4 ip2 = IP('11.33.13.14')

  5 

  6 print

("ip1 type: %s" % ip1.iptype())

  7 print("ip2 type: %s" % ip2.iptype())

  8 

  9 print("ip2 int value: %d" % ip1.int())

 10 print("ip2 hex value: %s" % ip1.strHex())

 11 print("ip2 bin value: %s" % ip1.strBin())

 12 

 13 print("IP for 0x1234567: %s" % IP(0x1234567))

 14 

比較結果如下:

GreydeMac-mini:Chapter_02 greyzhang$ python pydiff.py 

  from IPy import IP

  ip1 = IP('192.168.1.2')

- ip2 = IP('11.12.13.14')

?              ^^

+ ip2 = IP('11.33.13.14')

?              ^^

  print("ip1 type: %s" % ip1.iptype())

  print("ip2 type: %s" % ip2.iptype())

- print("ip2 int value: %d" % ip2.int())

?                               ^

+ print("ip2 int value: %d" % ip1.int())

?                               ^

- print("ip2 hex value: %s" % ip2.strHex())

?                               ^

+ print("ip2 hex value: %s" % ip1.strHex())

?                               ^

- print("ip2 bin value: %s" % ip2.strBin())

?                               ^

+ print("ip2 bin value: %s" % ip1.strBin())

?                               ^

  print("IP for 0x1234567: %s" % IP(0x1234567))

差異被順利比較出來,最終展示的格式也全都跟Linuxdiff命令類似。

借用這個模組庫還能夠生成HTML文件,把前面的程式碼做一下修改如下:

  1 import difflib

  2 

  3 text1 = open('d1.py').readlines()

  4 text2 = open('d2.py').readlines()

  5 

  6 d = difflib.HtmlDiff()

  7 fid =open('report.html','w')

  8 fid.write(d.make_file(text1,text2))

  9 fid.close()

程式執行後生成了一個html檔案,執行的結果以及資訊如下:

GreydeMac-mini:Chapter_02 greyzhang$ python pydiff.py 

GreydeMac-mini:Chapter_02 greyzhang$ ls

c01.pyd2.pypydiff.py

d1.pydns_parser.pyreport.html

使用瀏覽器開啟生成的報告檔案如下:


這報告的觀感確實是非常好,看多了命令列再看這個感覺簡直是精美絕倫!


相關推薦

使用Python進行文字資訊比較生成HTML報告

使用Python可以實現類似Linux中diff的命令,還能夠輸出HTML文件,這是我一直期待的。如果辦公環境十分封閉,使用diff命令都難的時候,這無疑是很好的補充。 Python中的標準庫有一個d

使用Python實現文字轉語音生成wav檔案

目前手邊的一些工作,需要實現聲音播放功能,而且僅支援wav聲音格式。 現在,一些網站上支援文字轉語音功能,但是生成的都是MP3檔案,這樣還需要額外的軟體來轉成wav檔案,十分麻煩。 後來,研究Python,發現Python可以很容易的實現上面的功能。 步驟如下, 1。使用百度語音實現

python 爬取資訊文章儲存html及pdf格式

一、需求 研究生學長讓我把一個植物表型資訊系列文章的一系列文章爬下來儲存為pdf或者html格式。 首頁網址: https://mp.weixin.qq.com/s?__biz=MzI0Mjg5ODI1Ng==&mid=2247486022&idx=1&sn=

Jmeter命令列執行生成HTML報告

前提:準備好jmeter指令碼,找到jmeter配置檔案檢視生成的日誌格式是否為csv,如果不是請改為csv 注意:使用命令執行jmeter指令碼必須使用jmeter 3.0及以上版本1、使用命令列執行指令碼並生成日誌檔案進入到jmeter的bin目錄下執行命令:jmeter -n -t D:\test

python筆記32-ddt框架優化(生成html報告註釋內容傳變量)

ima 最新版本 www object alt comm mage 用例 ron 至於什麽是ddt這個可以參考我之前寫的博客內容,使用ddt框架的時候,有個問題困擾我很久了,一直沒得到解決(也有很大小夥伴問過我,沒解決抱歉了!)這個問題就是:如何使用ddt框架時,生成的

使用jmeter+ant進行接口自動化測試(數據驅動)之二:利用apache-ant執行測試用例生成HTML格式測試報告

extras true -c 註釋符 www 文件的 介紹 ntc encoding 在 使用jmeter+ant進行接口自動化測試(數據驅動)之一 介紹了如何使用csv文件來批量管理接口 本次接著介紹如何利用apache-ant執行測試用例並生成HTML格式測試報告 ①下

python接口自動化測試二十五:執行所有用例,生成HTML測試報告

odin 所有 郵件發送 QQ 二進制 multipart 分享圖片 html sse import requestsimport unittestclass TestQQ(unittest.TestCase): ‘‘‘測試QQ號接口‘‘‘

Python&Selenium&Unittest&BeautifuReport 自動化測試生成HTML自動化測試報告

一、摘要 本篇博文將介紹如何藉助BeautifulReport和HTML模版,生成HTML測試報告的BeautifulReport 原始碼Clone地址為 https://github.com/TesterlifeRaymond/BeautifulReport,其中 BeautifulReport.py和

[原創]使用python對視訊/音訊檔案進行詳細資訊採集,進行去重操作

[原創]使用python對視訊/音訊檔案進行詳細資訊採集,並進行去重操作 轉載請註明出處   一.關於為什麼用pymediainfo以及pymediainfo的安裝   使用python對視訊/音訊檔案進行詳細資訊採集,並進行去重操作的核心是使用pymediainfo這個庫   之前本人一

[硬貨]|如何利用深度學習寫詩歌(使用Python進行文字生成

           翻譯:李雪冬              前  言 從短篇小說到寫5萬字的小說,機器不斷湧現出前所未有的詞彙。在web上有大量的例子可供開發人員使用機器學習來編寫文字,呈現的效果有荒謬的也有令人歎為觀止的。  由於自然語言處理(NLP)領域的重大進步

Beyond Compare指令碼:比較檔案生成html格式的差異報告

說明:以下內容在Windows環境下驗證OK 1、將Beyond Compare的安裝路徑新增到環境變數,以便在命令列中執行BCompare.exe命令 2、新建一個文字檔案diff_to_html.txt,輸入並儲存以下內容: text-report layout:s

python讀取文字資訊進行處理,寫到另一檔案中

題目:把歌詞轉化成一句話一行的文字且不包含標點符號思路:開啟檔案位置,讀取檔案中所有資訊以列表形式展示,把列表轉化成字串,去除裡面的所有空格回車符號。(是為了讓資訊以歌詞形式展開,一句話一行)用正則表示式去除掉裡面所有的標點符號,放入列表中。遍歷列表中的資訊,放到另一個檔案中

python+unittest 生成HTML報告

from selenium import webdriver import unittest import time import HTMLTestrunner class BaiDu(unittest.TestCase): def setUp(self): self.dri

Java&Selenium&TestNG&ZTestReport 自動化測試生成HTML自動化測試報告

一、摘要 本篇博文將介紹如何藉助ZTestReport和HTML模版,生成HTML測試報告的ZTestReport 原始碼Clone地址為 https://github.com/zhangfei19841004/ztest,其中ZTestReport.java 和其template是我們需要的關

使用jieba和wordcloud進行中文分詞生成《悲傷逆流成河》詞雲

因為詞雲有利於體現文字資訊,所以我就將那天無聊時爬取的《悲傷逆流成河》的評論處理了一下,生成了詞雲。 關於爬取影評的爬蟲大概長這個樣子(實際上是沒有爬完的): #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/10/15 16:3

python 自動化程式碼生成html 報告

先介紹比較low的方法一: import unittest from unittest import TestSuite,TextTestRunner from HTMLTestRunner import HTMLTestRunner class Test1(

[轉載]Python爬取豆瓣影評生成詞雲圖程式碼

# -*- coding:utf-8 -*- ''' 抓取豆瓣電影某部電影的評論 這裡以《我不是潘金蓮為例》 網址連結:https://movie.douban.com/subject/26630781/comments 為了抓取全部評論需要先進行登入 '''

使用python進行運動軌跡合:多次騎行跑步軌跡疊加顯示

手冊 加載 所有 圖片 畫圖 xml解析 大小 get 查看 現有各種各樣的運動app、運動手表手環以及gps碼表等可以用於記錄日常騎行或跑步等運動軌跡;但軌跡顯示多數只限於顯示一天的軌跡,經過搜索只發現一篇文章介紹跑步軌跡疊加方法(查看),根據教程嘗試了下還因為perl語

python進行文字分類,基於word2vec,sklearn-svm對微博垃圾評論分類

差不多一年前的第一個分類任務,記錄一下 語料庫是關於微博的垃圾使用者評論,分為兩類,分別在normal,和spam資料夾下。裡面是很多個txt檔案,一個txt是一條使用者評論。 一、進行分詞 利用Jieba分詞和去除停用詞(這裡我用的是全模式分詞),每一篇文件為一行

使用python進行文字替換(包括替換檔名、資料夾名、文字名)

目錄 一、需求分析 二、細節要點 三、程式碼 四、總結 一、需求分析 總體概述:替換 檔名稱的替換 如果資料夾或文字檔案(各類字尾檔案)的名稱中存在某個字串,則將他替換為另外的字串。 檔案內容的替換 如果文字檔案(各類字尾檔案)的內