我想使用python同时打开两个文件,从每个文件读取一行然后执行一些操作。然后读取每一行的下一行并做一些操作,然后下一行...我想知道我该怎么做。似乎for
循环不能完成这项工作。
答案 0 :(得分:4)
file1 = open("some_file")
file2 = open("other_file")
for some_line,other_line in zip(file1,file2):
#do something silly
file1.close()
file2.close()
请注意,如果您不想将整个文件存储在内存中,可能会首选itertools.izip
...
另请注意,当到达任一文件的末尾时,这将完成...
答案 1 :(得分:0)
为什么不将每个文件读入列表,列表中的每个元素都保存1行。
将这两个文件加载到列表后,您可以通过列表逐行(按索引索引)执行所需的任何比较/操作。
答案 2 :(得分:0)
你可以像这样进入一个循环:
for x in range(0, n):
read onde line
read the other line
试试吧
答案 3 :(得分:0)
您可以尝试以下代码:
fin1 = open('file1')
fin2 = open('file2')
content1 = fin1.readlines()
content2 = fin2.readlines()
length = len(content1)
for i in range(length):
line1, line2 = content1[i].rstrip('\n'),content2[i].rstrip('\n')
# do something
fin1.close()
fin2.close()