【发布时间】:2015-02-04 17:27:01
【问题描述】:
w = open("input1.txt", "r")
f = open("input2.txt", "r")
for line1 in w:
words1 = line1.split()
for line2 in f:
words2 = line2.split()
print (words1[0]+" "+words1[1]+" "+words1[2]+" "+words1[3]+" "+words1[4]+" "+words1[5]+";"+words2[0])
f.close()
w.close()
我在每个文本文件中都有一个列表:input1.txt 和 input2.txt
input1.txt:1 2 3
input2.txt:a b c
我正在尝试加入每个元素与另一个元素配对的列表。 所以,输出应该是:
1a
1b
1c
2a
2b
2c
3a
3b
3c
使用上面的代码,我只能做到:
1a
1b
1c
然后就结束了。
我怎样才能让它选择下一行并做同样的事情?
【问题讨论】:
-
它停止的原因是文件有一个指向文件中当前位置的指针。当您从文件中读取时,该计数器将移动到文件中的当前位置。当您读取整个文件时,计数器位于末尾,因此不再读取。您可以通过在
for line2 in f:之前添加f.seek(0)来修复当前代码使用 Eithos 的答案,因为它只读取文件一次。