【发布时间】:2017-07-04 13:44:48
【问题描述】:
我有 2 个这样的文件。
文件 1
e 1 0 ppp
e 3 1 rrr
e 3 2 rrr
文件 2
e 1 0 rrr
我想拆分每一行代码来比较数组[3],如果相同的 rrr 在行中,它应该打印OK。我是这样写代码的。
file1 = open('file1.txt', 'r', encoding="utf8")
file2 = open('file2.txt', 'r')
for line1 in file1: #loop file1
L1 = line1.split() #split to array
if(L1[0] == 'e'):
print("line1 " + line1)
for line2 in file2: #loop file2
L2 = line2.split() #split to array
if(L2[0] == 'e'):
print("line2 " + line2)
if(L2[3] == L1[3]): #check rrr same
print("OK")
当我运行代码时,它会打印:
line1 e 1 0 ppp
line2 e 1 0 rrr
line1 e 3 1 rrr
line1 e 3 2 rrr
代码是循环中的循环我想显示这样的结果:
line1 e 1 0 ppp
line2 e 1 0 rrr
line1 e 3 1 rrr
line2 e 1 0 rrr
line1 e 3 2 rrr
line2 e 1 0 rrr
如何修改代码来比较文件的每一行?
【问题讨论】:
-
文件对象迭代器只适用于一次通过。我相信这是你的问题。
标签: python python-3.x loops file-handling