1. 程式人生 > >python實現程式碼對比小工具

python實現程式碼對比小工具

import sys
import difflib

fisrt_path = sys.argv[1]
next_path = sys.argv[2]

with open(fisrt_path,"r") as f:
 fisrt_list=f.readlines()
with open(next_path,"r") as f:
 next_list=f.readlines()

diff = difflib.HtmlDiff()
html = diff.make_file(fisrt_list,next_list)
with open("diff.html","w") as f:
 f.write(html)

#!/bin/env python
# -*- coding: utf-8 -*-

# import difflib
# import sys
# import argparse


# # 讀取建表語句或配置檔案
# def read_file(file_name):
#     try:
#         file_desc = open(file_name, 'r')
#         # 讀取後按行分割
#         text = file_desc.read().splitlines()
#         file_desc.close()
#         return text
#     except IOError as error:
#         print 'Read input file Error: {0}'.format(error)
#         sys.exit()


# # 比較兩個檔案並把結果生成一份html文字
# def compare_file(file1, file2):
#     if file1 == "" or file2 == "":
#         print '檔案路徑不能為空:第一個檔案的路徑:{0}, 第二個檔案的路徑:{1} .'.format(file1, file2)
#         sys.exit()
#     else:
#         print "正在比較檔案{0} 和 {1}".format(file1, file2)
#     text1_lines = read_file(file1)
#     text2_lines = read_file(file2)
#     diff = difflib.HtmlDiff()    # 建立HtmlDiff 物件
#     result = diff.make_file(text1_lines, text2_lines)  # 通過make_file 方法輸出 html 格式的對比結果
#     # 將結果寫入到result_comparation.html檔案中
#     try:
#         with open('result_comparation.html', 'w') as result_file:
#             result_file.write(result)
#             print "0==}==========> Successfully Finished\n"
#     except IOError as error:
#         print '寫入html檔案錯誤:{0}'.format(error)


# if __name__ == "__main__":
#     # To define two arguments should be passed in, and usage: -f1 fname1 -f2 fname2
#     my_parser = argparse.ArgumentParser(description="傳入兩個檔案引數")
#     my_parser.add_argument('-f1', action='store', dest='fname1', required=True)
#     my_parser.add_argument('-f2', action='store', dest='fname2', required=True)
#     # retrieve all input arguments
#     given_args = my_parser.parse_args()
#     file1 = given_args.fname1
#     file2 = given_args.fname2
#     compare_file(file1, file2)

相關推薦

python實現程式碼對比工具

import sys import difflib fisrt_path = sys.argv[1] next_path = sys.argv[2] with open(fisrt_path,"r") as f: fisrt_list=f.readlines() wit

python實現shell下抄速查工具

部落格已遷移,新地址  開啟 ========================== 最近忙其他的,回頭才發現一個月沒發博文了,慢慢來,這兩個月來第一篇 ------------------------------------------- 需求:最近老是要翻配置文件/w

白成長記-----python實現註冊的程序

passwd 提示 信息 文件中 寫到 參考 超過 不能 全部 # 3、寫一個註冊的程序,輸入username,密碼,# 密碼確認,輸入的賬號和密碼不能為空,兩次輸入密碼必須一致,# 用戶名不能重復,錯誤次數四次 。註冊成功提示成功# 把註冊賬號密碼信息的寫到文件裏頭use

K近鄰演算法(KNN)原理解析及python實現程式碼

KNN演算法是一個有監督的演算法,也就是樣本是有標籤的。KNN可以用於分類,也可以用於迴歸。這裡主要講knn在分類上的原理。KNN的原理很簡單:            放入一個待分類的樣本,使用者指定k的大小,然後計算所有訓練樣本與該樣

基於Electron + nodejs + 程式 實現彈幕工具(開篇)

前言 彈幕(barrage),中文流行詞語,指的是在網路上觀看視訊時彈出的評論性字幕。類似小說中行間彰顯的夾批,視訊中屏間飄過的評點叫做彈幕,原意指用大量或少量火炮提供密集炮擊。而彈幕,顧名思義是指子彈多而形成的幕布,大量吐槽評論從螢幕飄過時效果看上去像是飛行射擊遊戲裡的彈幕。 很久以前,彈幕還

基於Electron + nodejs + 程式 實現彈幕工具(上篇)

前言 上一篇文章,大概講述我們即將要做的彈幕小工具是什麼樣的,將使用什麼樣的技術。那麼,從這一篇開始,我們將一步步把想法落地成程式碼。本文,我們將使用Electron實現接收端,讓我們的彈幕飛起來。 效果圖 如上圖所示,把放映PPT的同時,使用者可以通過掃描小程式二維碼,實時發表自己的

基於Electron + nodejs + 程式 實現彈幕工具(中篇)

前言 基於Electron + nodejs + 小程式 實現彈幕小工具(開篇) 基於Electron + nodejs + 小程式 實現彈幕小工具(上篇) 上兩篇文章,分別對產品需求和Electron端的實現做了相關的介紹,有興趣的朋友可以看看之前的文章。本文,將介紹服務端的實現。 需求

基於Electron + nodejs + 程式 實現彈幕工具(下篇)

前言 接著前面的文章,我們來講彈幕小工具的最後一篇。用小程式來實現彈幕的傳送端,傳送端的需求很簡單:一個簡單的小程式,把使用者要輸入的彈幕內容轉發給nodejs端,使用者雙擊發送按鈕時,預設傳送666。 效果圖 小程式就只有這兩個頁面,非常簡單,使用者掃碼首次進入需要授權

基於Electron + nodejs + 程式 實現彈幕工具(終篇)

前言 首先說明一下,本文無干貨,不喜勿噴。 本文是彈幕小工具系列的最後一篇文章,主要是做一下歸檔和總結。 本系列,我們從零開始實現一個簡單可用的彈幕小工具,目前已部署在線上環境,有興趣的朋友可以下載體驗,掃碼即用,十分方便。當然,對實現有興趣的也可以查閱原始碼。 下載體驗 搶先體驗版 專案原始碼

python 串列埠除錯工具

import serial.tools.list_ports import serial from tkinter import Tk,StringVar,Label,Button,Listbox,Text,END import time import datetime import re imp

Python GUI 截圖工具 例項Demo

首先上程式碼 #匯入相應的庫 from tkinter import * #介面庫 from PIL import ImageGrab #圖形庫 from tkinter import fil

整理原始CSS程式碼工具

從網頁上F12看到的連結,所對應的CSS程式碼是不是雜亂無章,讓你無從下手呢。這個小工具可以幫你把你要一個一個回車才能很好看清的程式碼瞬間變得整潔無比,讓你一眼就找到你的class 1.效果: 整理前:

Qt編寫的刪除C++程式碼註釋工具

刪除C++程式碼註釋小工具遇到的問題直接上程式碼 遇到的問題 檢視前輩的Qt程式碼,發現好多沒用的程式碼註釋掉了,但是沒刪,而且這種程式碼非常多,所以想將這些註釋刪除掉。整體設計思路如下: 1、註釋就是兩種情況: ‘//’ 和’/* /’,其中/之中也可能會包含

Python實現微信程式支付功能

由於最近自己在做小程式的支付,就在這裡簡單介紹一下講一下用python做小程式支付這個流程。當然在進行開發之前還是建議讀一下具體的流程,清楚支付的過程。 1.支付互動流程  2.獲取openid(微信使用者標識) 1 import requests 2 3 from config import

劍指offer66題--Java實現,c++實現python實現 29.最的K個數

題目描述 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 C++ //堆排 class Solution { public: vector<int> GetLeastNumbers_Solut

用openCV 和 Python 實現圖片對比,並標識出不同點

最近專案中需要實現兩組圖片對比,並能將兩者的區別標識出來。 在網上搜索一大堆找到一篇大神的文章,最終實現該功能,在這裡記錄下: 想要實現此demo,首先我們得確保電腦上已安裝 openCV 和 Python 兩個工具以及scikit-image和im

K-means和PAM聚類演算法Python實現對比

K-means(K均值劃分)聚類:簡單的說,一般流程如下:先隨機選取k個點,將每個點分配給它們,得到最初的k個分類;在每個分類中計算均值,將點重新分配,劃歸到最近的中心點;重複上述步驟直到點的劃歸不再改變。下圖是K-means方法的示意。 PAM

決策樹(CART)、隨機森林、GBDT(GBRT)新手導讀及資料推薦,附加python實現程式碼

前言 關於決策樹、隨機森林、GBDT(GBRT),這裡記錄我的一些理解,詳細的資料已經非常多了,也有很多好的部落格,再寫沒必要。推薦幾個有代表性的部落格,網際網路資源太多,良莠不齊。看了推薦的文章,你應該會有一個清晰的思路的。 決策樹 在理解決策樹時,在腦海裡面有個二叉樹的

資料探勘之曼哈頓距離、歐幾裡距離、明氏距離、皮爾遜相關係數、餘弦相似度Python實現程式碼

# -*- coding:utf8 -*- from math import sqrt users = {"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, "Norah Jones": 4.5, "Phoeni

利用Python實現自動掃雷指令碼

自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。  一、準備工作 1.掃雷遊戲 我是win10,沒有預設的掃雷,所以去掃雷網下載 http://www.saolei.net/BBS/