国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Python > 正文

用python標準庫difflib比較兩份文件的異同詳解

2020-02-15 23:44:15
字體:
來源:轉載
供稿:網友

【需求背景】

有時候我們要對比兩份配置文件是不是一樣,或者比較兩個文本是否異樣,可以使用linux命令行工具diff a_file b_file,但是輸出的結果讀起來不是很友好。這時候使用python的標準庫difflib就能滿足我們的需求。

下面這個腳本使用了difflib和argparse,argparse用于解析我們給此腳本傳入的兩個參數(即兩份待比較的文件),由difflib執行比較,比較的結果放到了一個html里面,只要找個瀏覽器打開此html文件,就能直觀地看到比較結果,兩份文件有差異的地方會高亮顯示出來。

【程序正文】

以python2.7為例,compare_two_files.py程序正文:

#!/bin/env python# -*- coding: utf-8 -*-# 20180430import difflibimport sysimport 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)

【待比較的文件】

兩份文件分別是old_ddl_file和new_ddl_file,內容分別是—— old_ddl_file文件內容 CREATE EXTERNAL TABLE raw_tags( p0 string COMMENT ‘uid', p3 string COMMENT ‘tag name, e.g. news, games, fairs, shoopingURL', p4 string COMMENT ‘e.g. 0, Games', p11 int COMMENT ‘gender', dt string COMMENT ‘date, like 26/6/2017', action string COMMENT ‘clickmodule, click_taghead_link, clicklink') CLUSTERED BY ( dt) INTO 4 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,' STORED AS INPUTFORMAT ‘org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION ‘hdfs://hdfs-ha/apps/hive/warehouse/ksai.db/raw_tags' TBLPROPERTIES ( ‘numFiles'='1', ‘numRows'='0', ‘rawDataSize'='0', ‘totalSize'='70575510', ‘transient_lastDdlTime'='1500469448')new_ddl_file文件內容 CREATE EXTERNAL TABLE raw_tags( p0 string COMMENT ‘uid', p3 string COMMENT ‘tag name, e.g. news, games, fairs, shoopingURL', p4 string COMMENT ‘e.g. 0, Games', p11 int COMMENT ‘gender', dt string COMMENT ‘date, like 26/6/2017', action string COMMENT ‘clickmodule, click_taghead_link, clicklink') ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,' STORED AS INPUTFORMAT ‘org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION ‘hdfs://hdfs-ha/apps/hive/warehouse/ksai.db/raw_tags' TBLPROPERTIES ( ‘COLUMN_STATS_ACCURATE'='{/”BASIC_STATS/”:/”true/”}', ‘numFiles'='0', ‘numRows'='0', ‘rawDataSize'='0', ‘totalSize'='0', ‘transient_lastDdlTime'='1521546069')             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产女呦网站| 国产www网站| 国产麻豆一区二区三区精品| av网站在线播放| 97一区二区三区| 四虎成人免费| 国产毛片毛片毛片| 91国内精品在线视频| 亚洲大香人伊一本线| 欧美韩日国产| 国产一级片在线播放| 中文字幕在线观看av| 国产三区视频在线观看| 在线观看av中文| 亚洲精品乱码电影在线观看| 精品国产99久久久久久| 一本大道香蕉久久| 超碰在线观看免费| 国产精品伦一区二区三区级视频频| 精品国内一区二区三区免费视频 | 国产aa视频| heisi视频网在线观看| 国产女王在线**视频 | 好男人免费精品视频| 国产免费av在线| 夜夜爽视频导航| 国产免费福利| 欧美视频免费一区二区三区| 国产国产国产国产国产国产| 狠狠狠综合7777久夜色撩人| 18成年在线观看| 91xxx在线观看| 日韩精品免费一区二区| 国产高清免费视频| 国产视频二区三区| 好看的中文字幕在线播放| av一本在线| 三级小说一区| 伊人网在线视频| 国产黄色一级电影| 国产日韩网站| 国产小视频在线高清播放| 黄色片av在线| 福利在线视频导航| 丁香在线视频| 国产一二三在线观看| 国产香蕉尹人视频在线| 中文字幕国产视频| 国产视频2区| 国产98在线| 一区二区三区四区在线免费视频| 国产羞羞视频在线观看| 国产高清视频免费最新在线| 国产va在线| 亚洲精品男人| xxxx视频在线| 五月天天在线| 精品176二区| 老鸭窝av在线| 国产素人视频在线观看| 999福利在线视频| a视频在线观看免费| 欧美色欧美亚洲另类二区精品 | 四虎成人精品在永久免费| av手机免费观看| 成人免费一区二区三区牛牛| 国产精品美女一区二区视频| 在线国产三级| 国产在线高潮| 在线色视频观看| 国产中文字幕av| 国产黄色一级片| 开心激情五月婷婷| 国产激情视频一区二区| 中文字幕av网| 五月天婷婷基地| av在线中文| 午夜伦全在线观看| 三级小说一区| 777电影在线观看| 国产精品自产拍在线观看2019| 午夜视频99| 免费黄网站在线观看| 国产激情小视频在线| 超碰在线97国产| 亚洲欧洲成人| 2020亚洲男人天堂| 国产裸舞福利在线视频合集 | 精品视频麻豆入口| 人日人天天爽| 在线激情网站| 国产黄色在线观看| 国产网红女主播精品视频| 久蕉依人在线视频| www.av在线播放| 亚洲久草视频| av中文天堂在线| 亚洲xxxxxx| 四虎成年永久免费网站| 夜夜操com| 亚洲尤物在线视频| 在线免费看av| 亚洲wwwwww| 热99re久久精品这里都是免费| 国产精品入口麻豆高清| 国产一起色一起爱| 国产精品四虎| 99re热视频在线| av在线天天| 九九热在线视频免费观看| 免费观看v片在线观看| 性欧美精品xxxx| 黄网址在线播放免费| 久久精品无码一区二区日韩av| 日本欧洲一区| 国产美女在线看| 国产欧美一区二区三区小说| 国产精品不卡一区二区三区在线观看| 国产区av在线| 精品一区二区三区在线成人| av一级在线| 国产中文字幕网| 中文字幕在线免费观看| 精品麻豆一区二区三区| 亚洲精品视频在线免费| 豆国产97在线|亚洲| 欧美啪啪精品| 中中文字幕av在线| 天堂资源在线中文| 69久久精品| 热99在线观看| 中文字幕日本三级| 怡红院av在线| 国产在线高潮| 91福利在线免费| 99热99re6国产在线播放| 亚洲人在线播放| 中文字幕在线免费视频| 在线伊人免费视频| 国产男女无套在线播放| 精品伦理一区二区| 激情六月婷婷| av文字幕在线观看| 国产一起色一起爱| 就爱干草视频| 亚洲久草视频| 精品福利影院| 国产二区在线播放| 日本中文字幕视频在线| 在线免费观看黄色av| 中文字幕国产欧美| 国产在线麻豆精品| 免费午夜一级| 亚洲视频精品在线观看| 国产激情三区| 国产精品777一区二区| 1区2区3区在线| 九色视频网站| 黄色国产网站在线播放| 天堂√中文在线| 99色在线观看| 国产精品99爱免费视频| 国产美女高潮一区二区三区| 日本成人a视频| 亚洲图区综合| 蜜桃av在线免费观看| 久久久久久久久久久久网站| 欧美a免费在线| 国产在线色视频| 国产乱妇乱子| 国产精品久久久久久福利| 国产区卡一卡二卡三乱码免费| 中文字幕不卡| 国产精品伦理一区二区三区| 国产www网站| 亚洲日本久久久午夜精品| 亚洲视频日韩| 男女午夜视频在线观看| 二人午夜免费观看在线视频| 日韩在线天堂| 黄色网页网址在线免费| 国产污视频在线| 亚洲欧美久久婷婷爱综合一区天堂| 四虎国产精品永久在线| 九九热精品在线视频| 国产极品嫩模在线视频一区| 99色在线观看| 国产精品一区二区资源| 国产黄在线观看免费观看不卡| 在线观看免费高清完整| 国产麻豆视频网站| 91国内在线| 国产麻豆精品高清在线播放| 精品剧情v国产在线观看| 亚洲日本伊人| 国产无遮挡在线视频免费观看| 亚洲sss视频| 国产天堂在线| 蜜桃视频网站在线| 国产黄色大片在线观看|