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


Posted in Python onJanuary 07, 2019

虽然初恋是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) 

以上这篇在python中使用with打开多个文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python描述器descriptor详解
Feb 03 Python
python 的列表遍历删除实现代码
Apr 12 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
Python中装饰器高级用法详解
Dec 25 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
Python requests模块安装及使用教程图解
Jun 30 Python
python3实现飞机大战
Nov 29 Python
用python对excel查重
Dec 07 Python
python生成word合同的实例方法
Jan 12 Python
python读取文件名并改名字的实例
Jan 07 #Python
Python 调用 zabbix api的方法示例
Jan 06 #Python
使用Django2快速开发Web项目的详细步骤
Jan 06 #Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 #Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 #Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 #Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 #Python
You might like
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
javascript常用的方法分享
2015/07/01 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
python中pass语句用法实例分析
2015/04/30 Python
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
python sorted函数原理解析及练习
2020/02/10 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
网络程序员自荐信
2014/01/25 职场文书
大学生党员承诺书
2014/05/20 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
税务会计岗位职责
2015/04/02 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
oracle索引总结
2021/09/25 Oracle