from itertools import izip, izip_longest
file1name = '/some/path/and/file'
file2name = '/another/path/and/another/file'
with open(file1name) as file1, open(file2name) as file2:
for line1, line2 in izip(file1, file2): # or izip_longest
# do something with the lines
你可以试试
不过,请注意,当较短的文件结束时,此循环将退出。
使用Python 2时,
itertools.izip
更适合这种情况,因为它不创建list
。后人的一个完整例子:
使用
with
确保文件在使用后被清除,即使发生异常。Python2:
使用
itertools.izip
连接两个迭代器。如果文件长度不等,请使用
izip_longest
。在Python 3中,改用
zip
和zip_longest
。另外,使用with
打开文件,这样即使出现错误也会自动处理关闭操作。相关问题 更多 >
编程相关推荐