发布于 2014-09-29 22:20:01 | 136 次阅读 | 评论: 0 | 来源: 网友投递
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
本文是一个Python实现的可以用来比较两个文本文件内容,如果不同, 给出第一个不同处的行号和列号,大家参考使用吧
fa = file1.readlines()
fb = file2.readlines()
file1.close()
file2.close()
#用GBK解码,这样可以处理中文字符
fa = [ str.decode("gbk") for str in fa]
fb = [ str.decode("gbk") for str in fb]
row = 0
col = 0
#开始比较两个文件的内容
for str1, str2 in zip(fa, fb):
col = cmpstr(str1,str2)
# col=0则说明两行相等
if col == 0 :
row += 1
continue
else:
break
#如果有一行不同,或者文件长度不一样
if str1 != str2 or len(fa) != len(fb):
#打印出不同的行序和列序,并把不同的前一句后本句打印出来
#最后两个字符是不同的地方
print "row:", row+1, "col:", col
print "file a is:n", fa[row-1],fa[row][:col+1], "n"
print "file b is:n", fb[row-1],fb[row][:col+1], "n"
else :
print "All are same!"
raw_input("Press Enter to exit.")