亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python文件比較示例分享

 更新時(shí)間:2014年01月10日 09:09:47   作者:  
本文介紹了Python比較兩個(gè)文本文件內(nèi)容,如果不同, 給出第一個(gè)不同處的行號(hào)和列號(hào),大家參考使用吧

復(fù)制代碼 代碼如下:

# 比較兩個(gè)字符串,如果不同返回第一個(gè)不相同的位置
# 如果相同返回0
def cmpstr(str1, str2):
    col = 0
    for c1, c2 in zip(str1, str2):
        if c1 == c2:
            col += 1
            continue
        else :
            break

    #判斷是怎樣退出循環(huán)的,還有一種情況是串長(zhǎng)度不同
    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


#開(kāi)始比較兩個(gè)文件的內(nèi)容
for str1, str2 in zip(fa, fb):
    col = cmpstr(str1,str2)
    # col=0則說(shuō)明兩行相等
    if col == 0 :
        row += 1
        continue
    else:
        break

#如果有一行不同,或者文件長(zhǎng)度不一樣
if str1 != str2 or len(fa) != len(fb):
    #打印出不同的行序和列序,并把不同的前一句后本句打印出來(lái)
    #最后兩個(gè)字符是不同的地方
    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)文章

最新評(píng)論