python 實現兩個文字檔案內容去重

2021-10-16 03:06:19 字數 2103 閱讀 7016

實現兩個文字內容去重,輸出兩個文字不重複的結果

兩個測試文字內容如下

1.txt中內容為 123

4567

82.txt中內容為 123

4567

891011

1213

1415

分別讀取兩個文字的內容讀取1.txt的內容,具體實現如下:

str1 =

file_1 =

open

("1.txt"

,"r"

,encoding=

"utf-8"

)for line in file_1.readlines():

"\n",""

))

讀取2.txt的內容,具體實現如下:

'''

'''str2 =

file_2 =

open

("2.txt"

,"r"

, encoding=

"utf-8"

)for line in file_2.readlines():

"\n",""

))

取出重複的內容建立乙個空列表,將兩個檔案中重複的內容取出來,具體實現如下:

str_dump =

for line in str1:

if line in str2:

#將兩個檔案重複的內容取出來

去掉重複內容將兩個文字的內容合併,去除重複的內容

'''

'''str_all =

set(str1 + str2)

#將兩個檔案放到集合裡,過濾掉重複內容

for i in str_dump:

if i in str_all:

str_all.remove(i)

#去掉重複的檔案

完整**如下

def

file_qc()

: str1 =

file_1 =

open

("1.txt"

,"r"

,encoding=

"utf-8"

)for line in file_1.readlines():

"\n",""

))str2 =

file_2 =

open

("2.txt"

,"r"

, encoding=

"utf-8"

)for line in file_2.readlines():

"\n",""

))str_dump =

for line in str1:

if line in str2:

#將兩個檔案重複的內容取出來

str_all =

set(str1 + str2)

#將兩個檔案放到集合裡,過濾掉重複內容

for i in str_dump:

if i in str_all:

str_all.remove(i)

#去掉重複的檔案

forstr

in str_all:

#去重後的結果寫入檔案

print

(str

)with

open

("qc_v.txt"

,"a+"

,encoding=

"utf-8"

)as f:

f.write(

str+

"\n"

)if __name__==

"__main__"

: file_qc(

)

輸出結果為

用perl實現兩個文字檔案交叉合併

perl語言被某些愛好者稱作 unix 中的王牌工具 確實,和c c 相比,perl語言特別是在處理 文字和檔案方面,有一些獨到的優勢,在處理某些文字檔案任務時,真的是很方便的。比如下面這個問題 現在兩個文字檔案a.txt和b.txt,內容如下 a.txt ab cdef gb.txt 12 345...

使用Python比較兩個文字檔案的相似度

本文使用python對兩個文字檔案進行比較,目的是為比較學生的作業抄襲情況。由於總共有70名學生,兩兩比較工作量太大,所以寫了本程式。演算法的基本原理是對兩個檔案中的行每一行進行比較,統計內容相同的行數,然後與兩個檔案的最大行數的比值。設 lines1 和 lines2 分別為兩個輸入檔案中的所有文...

兩個文字檔案某一單列的交集

1.txt有一列,不都在2.txt裡 2.txt有幾列,第一列的值裡可能有1.txt的值,中英文大小寫各種符號都可能有除了 列分隔符是 awk f beginnrfnrnr fnr 1.txt 2.txt 解釋如下 f 指定分隔符 begin語句忽略了英文大小寫 nr fnr意味著在讀第乙個檔案。n...