您的位置:首页 > 编程语言 > Python开发

Python中使用With打开多个文件

2016-11-02 16:12 218 查看
转载地址:http://www.hustyx.com/python/119/

使用with打开文件的好处不多说,这里记录一下如果要打开多个文件,该怎么书写简捷的代码。

场景是同时打开三个文件,文件行数一样,程序实现每个文件依次读取一行,同时输出。 首先来一种比较容易想到的写法,如下一样嵌套:
with open('file1') as f1:
with open('file2') as f2:
with open('file3') as f3:
for i in f1:
j = f2.readline()
k = f3.readline()
print(i,j,k)


注意,这里只能对一个文件进行for循环读取,不能写成:
for i,j,k in f1,f2,f3:
print(i,j,k)


这么多层缩进太恶心了,还是来一种简洁些的写法:
with open('file1') as f1, open('file2') as f2, open('file3') as f3:
for i in f1:
j = f2.readline()
k = f3.readline()
print(i,j,k)


还有一种优雅一点的写法:
from contextlib import nested

with nested(open('file1'), open('file2'), open('file3')) as (f1,f2,f3):
for i in f1:
j = f2.readline()
k = f3.readline()
print(i,j,k)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: