在python中使用with打开多个文件的方法
虽然初恋是java,可是最近是越来越喜欢python,所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下慢慢进步吧
使用with打开文件的好处不多说,这里记录一下如果要打开多个文件,该怎么书写简捷的代码。
场景是同时打开三个文件,文件行数一样,程序实现每个文件依次读取一行,同时输出。首先来一种比较容易想到的写法,如下一样嵌套:
withopen('file1')asf1: withopen('file2')asf2: withopen('file3')asf3: foriinf1: j=f2.readline() k=f3.readline() print(i,j,k)
注意,这里只能对一个文件进行for循环读取,不能写成:
fori,j,kinf1,f2,f3: print(i,j,k)
这么多层缩进太恶心了,还是来一种简洁些的写法:
withopen('file1')asf1,open('file2')asf2,open('file3')asf3: foriinf1: j=f2.readline() k=f3.readline() print(i,j,k)
还有一种优雅一点的写法:
fromcontextlibimportnested#这个包是python2中的,不使用python3 withnested(open('file1'),open('file2'),open('file3'))as(f1,f2,f3): foriinf1: j=f2.readline() k=f3.readline() print(i,j,k)
以上这篇在python中使用with打开多个文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。