python比较两个文件的差异,python两个差异,下面的python代码比
python比较两个文件的差异,python两个差异,下面的python代码比
下面的python代码比较两个文件的不同之处,并将比较的结果输出出来。
#version 0import sysf1 = open(sys.argv[1], "r")f2 = open(sys.argv[2], "r")fileOne = f1.readlines()fileTwo = f2.readlines()f1.close()f2.close()outFile1 = open(sys.argv[3], "w")outFile2 = open(sys.argv[4], "w")for i in fileOne: if not i in fileTwo: outFile1.write(i)for i in fileTwo: if not i in fileOne: outFile2.write(i)outFile1.close()outFile2.close()#first time refacotring import sysfrom operator import attrgetter,itemgetter#verify inputsUSAGE='''%s file1 file2 output1 output2'''% __file__if len(sys.argv)<5: print USAGE sys.exit(2)#open files with trytry: f1 = open(sys.argv[1], "r") f2 = open(sys.argv[2], "r")except Exception,e: print 'encounter issues %s, while opening in files: %s %s' % (str(e),itemgetter(1)(sys.argv),itemgetter(2)(sys.argv)) sys.exit(1)fileOne = f1.readlines()fileTwo = f2.readlines()f1.close()f2.close()#open files with trytry: outFile1 = open(sys.argv[3], "w") outFile2 = open(sys.argv[4], "w")except Exception,e: print 'encounter issues %s, while opening out files: %s %s' % (str(e),itemgetter(3)(sys.argv),itemgetter(4)(sys.argv)) sys.exit(1)l_minus=lambda x,y:list(set(x)-set(y))outFile1.write('\n'.join(l_minus(fileOne,fileTwo)))outFile2.write('\n'.join(l_minus(fileTwo,fileOne)))outFile1.close()outFile2.close()#2nd time refactoringimport sysfrom operator import attrgetter,itemgetter#verify inputsUSAGE='''%s file1 file2 output1 output2'''% __file__if len(sys.argv)<5: print USAGE sys.exit(2)#open files with trywith open(itemgetter(1)(sys.argv), "r") as f1, open(itemgetter(2)(sys.argv), "r") as f2: fileOne = f1.readlines() fileTwo = f2.readlines()#list subsetl_minus=lambda x,y:list(set(x)-set(y))#open files with trywith open(itemgetter(3)(sys.argv), "w") as outFile1, open(itemgetter(4)(sys.argv), "w") as outFile2: outFile1.write('\n'.join(l_minus(fileOne,fileTwo))) outFile2.write('\n'.join(l_minus(fileTwo,fileOne)))
相关内容
- Python 求解组合问题,python求解组合,[Python]代码de
- Python sqlite模块,pythonsqlite模块,sqlite是非常著名的
- Python删除指定目录下的过期文件,,实现类似该命令的操
- MySQLdb and threading Base Usage,mysqldbthreading,[Python]代码im
- Python 读取纯真IP数据库,pythonip数据库,[Python]代码#!
- Python RSS阅读器,pythonrss阅读器,[Python]代码#
- python字符串填充,python字符串,string1 = "N
- python判断数组是否包含指定的元素的方法,python数组
- Python DBUtils数据连接池与ms sql配合用法,pythondbutils,[P
- python实现的ping,python实现ping,#!/usr/bin/e
评论关闭