行我有2個文件的格式如下:比較2個文件一行
file1:
work1
7 8 9 10 11
1 2 3 4 5
6 7 8 9 10
file2:
work2
2 3 4 5 5
2 4 7 8 9
work1
7 8 9 10 11
1 2 4 4 5
6 7 8 9 10
work3
1 7 8 9 10
現在我想比較的文件和地方說頭(WORK1)是equal..I要比較的後續部分並打印找到差異的行。例如。
work1 (file1)
7 8 9 10 11
1 2 3 4 5
6 7 8 9 10
work1 (file2)
7 8 9 10 11
1 2 4 4 5
6 7 8 9 10
現在我想在那裏發生差異,即 「1 2 4 4 5」
對於這樣做,所以我寫了下面的代碼打印線:
with open("file1",) as r, open("file2") as w:
for line in r:
if "work1" in line:
for line1 in w:
if "work1" in line1:
print "work1"
然而,從這裏開始我很困惑,我該如何平行讀取這兩個文件。有人可以幫我這個......因爲我不是在比較後得到「WORK1」的應該怎麼讀取文件平行
讀入內存(每個r.read()和w.read()到一個變量),然後做比較。並行不是正確的詞。 – CppLearner 2013-03-24 18:17:22
CppLearner該方法是可行的,只有當我的文件不大的大文件的方法是不可行的 – user1778824 2013-03-24 18:19:32
好點。那麼,如果你確定像'work1'這樣的頭文件不會在同一個文件中重複出現,那麼你可以打開這個文件並且讀取出現子字符串的位置,然後結束並且出現下一個頭文件。將它們記錄在兩個文件中然後閱讀。我不知道性能如何與這兩個文件讀入同一個迭代器相比較http://stackoverflow.com/questions/3322419/iterate-across-lines-in-two-files-simultaneously-in-python。 – CppLearner 2013-03-24 18:33:36