配合。
我这几天开始使用python,而我曾经尝试使用java,虽然更复杂。
当我尝试阅读两个不同的文件时:
a = open("file1.txt")
b = open("file2.txt")
for abc in a
for def in b
print (abc,def)
然而,我得到的只是第一行文件a和每行文件b。它与我的期望不同。
原因是什么,无论如何要解决它? 欢呼声。
答案 0 :(得分:0)
您可以使用zip()
:
for (line_a, line_b) in zip(a, b):
...
这将取a
的第一行和b
的第一行,然后是两个文件的第二行等。当两个文件中较短的一个结束时,它将停止。
答案 1 :(得分:0)
你的内部循环读取b
中的所有行,意味着文件已耗尽(所有行都已被读取)。要再次阅读这些行,您需要使用b.seek(0)
移回文件的开头。
或者,在循环播放之前,您可以将b
转换为包含b = list(b)
的列表。该列表可以循环多次,而不必回到起点。