python中使用with打开多个文件
使用with打开文件的好处不多说,这里记录一下如果要打开多个文件,该怎么书写简捷的代码。
同时打开三个文件,文件行数一样,程序实现每个文件依次读取一行,同时输出。 首先来一种比较容易想到的写法,如下一样嵌套:1234567with 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)
简捷一点的写法如下:12345with 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)
还有一种优雅一点的写法:
python 里面有contextlib
库中有一个是nested,一个是closing,前者用于创建嵌套的上下文,后则用于帮你执行定义好的close函数。但是nested已经过时了,因为with已经可以通过多个上下文的直接嵌套了。
|
|