python 文件比较 库_python文件比较示例分享

# 比较两个字符串,如果不同返回第一个不相同的位置

# 如果相同返回0

def cmpstr(str1, str2):

col = 0

for c1, c2 in zip(str1, str2):

if c1 == c2:

col += 1

continue

else :

break

#判断是怎样退出循环的,还有一种情况是串长度不同

if c1 != c2 or len(str1) != len(str2):

return col+1

else :

return 0

file1 = open("a.txt",'r')

file2 = open("b.txt",'r')

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 = 0col = 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.")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值