python文件比較示例分享
# 比較兩個字符串,如果不同返回第一個不相同的位置
# 如果相同返回0
def cmpstr(str1, str2):
col = 0
for c1, c2 in zip(str1, str2):
if c1 == c2:
col += 1
continue
else :
break
#判斷是怎樣退出循環(huán)的,還有一種情況是串長度不同
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
#開始比較兩個文件的內(nèi)容
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.")
相關(guān)文章
基于Python實現(xiàn)的百度貼吧網(wǎng)絡(luò)爬蟲實例
這篇文章主要介紹了基于Python實現(xiàn)的百度貼吧網(wǎng)絡(luò)爬蟲,實例分析了Python實現(xiàn)網(wǎng)絡(luò)爬蟲的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04Python基于paramunittest模塊實現(xiàn)excl參數(shù)化
這篇文章主要介紹了Python基于paramunittest模塊實現(xiàn)excl參數(shù)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04Python 繼承,重寫,super()調(diào)用父類方法操作示例
這篇文章主要介紹了Python 繼承,重寫,super()調(diào)用父類方法,結(jié)合完整實例形式詳細(xì)分析了Python面向?qū)ο蟪绦蛟O(shè)計中子類繼承與重寫父類方法的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python如何將jpg圖像修改大小并轉(zhuǎn)換為png
這篇文章主要介紹了Python如何將jpg圖像修改大小并轉(zhuǎn)換為png問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09基于Python中isfile函數(shù)和isdir函數(shù)使用詳解
今天小編就為大家分享一篇基于Python中isfile函數(shù)和isdir函數(shù)使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11