比較兩個檔案,求出不同的內容,A-B

king3171發表於2020-06-19

      這是我在一次資料庫遷移時處理工作的一個記錄。檔案每行只有一列,每一行是一個資料庫中的一個表名。我在做oracle impdp資料庫匯入時,有幾十張表匯入失敗,我要從原始表中過濾出匯入成功的表名。開始想用linux自帶的diff實現,發現實現不了。就寫了這樣一個python指令碼。

vim  bj_file.py

import os

import sys

fc = open('file.txt','a')

fc.write('The different line is:\n')

x = 0

f1 = 0 #total file1 line

for linea in open(sys.argv[1]):

    i = 0

    f1 += 1

    la =linea.strip()

    for lineb in open(sys.argv[2]):

        lb = lineb.strip()

        if la == lb:

            i = i + 1

    if i == 0:

        x = x + 1

        fc.write(la+"\n")

f2 = open(sys.argv[2]) #total file2 line

f2a = len(f2.readlines())

fc.write(sys.argv[1]+' is '+str(f1)+' line.'+'\n') 

fc.write(sys.argv[2]+' is '+str(f2a)+' line.'+'\n')        

fc.write('Total '+str(x)+' line is different.')     

fc.close()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51077/viewspace-2699447/,如需轉載,請註明出處,否則將追究法律責任。

相關文章