如何使用python同时处理两个文件

时间:2016-03-25 00:50:42

标签: python

我想使用python同时打开两个文件,从每个文件读取一行然后执行一些操作。然后读取每一行的下一行并做一些操作,然后下一行...我想知道我该怎么做。似乎for循环不能完成这项工作。

4 个答案:

答案 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()