行我有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