下面的程序实现的两文件的自动比对。运行方式为:python 脚本名 file1_name file2_name。
1.支持文件作为参数。当文件个数不够时,会报错;
2.当两个文件包含的数据量不够时,程序会直接跳出,不支持数据比对;
3.当两文件不一样时,会显示具体哪一行不一样和两个不一样的数;
import sys def read_file(file_name): dt_list = [] f_id = open(file_name,'r') while True: line = f_id.readline() line = line.strip() dt_list.append(line) if len(line) == 0: break f_id.close() return dt_list data_same_flag = 1 if len(sys.argv) < 2 : print ('append argument please!') else : dt_list1 = [] dt_list2 = [] dt_list1 = read_file(sys.argv[1]) dt_list2 = read_file(sys.argv[2]) if len(dt_list1) != len(dt_list2) : print("The number of the data is difference!") sys.exit() for i in range(len(dt_list1)-1) : dt1 = int(dt_list1[i]) dt2 = int(dt_list2[i]) if dt1 != dt2 : data_same_flag = 0 print ("%d: %s %s"%((i+1),dt_list1[i],dt_list2[i])) if data_same_flag == 1 : print("Compare Successfully!")