python文件的程序应该怎么写_Python写的比较2个文件不同的程序

Python写的比较2个文件不同的程序,如果其中有1个文件不同,就会返回第一个不同的地方的行号和列号。

下面给出比较文件的Python源代码:

# 用Python比较两个文件,这次比较.txt文件不比较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 = 0

col = 0

#学习Python上玩蛇网 www.iplaypy.com!

#开始比较内容

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.")

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/c151.html

相关文章 Recommend

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值