网络编程
位置:首页>> 网络编程>> Python编程>> 在python中使用with打开多个文件的方法

在python中使用with打开多个文件的方法

作者:忆向Blog  发布时间:2023-05-03 16:33:45 

标签:python,with,文件

虽然初恋是java, 可是最近是越来越喜欢python,所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下慢慢进步吧

使用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 #这个包是python2中的,不使用python3
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)

来源:https://www.hustyx.com/python/119/

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com