Python中的CSV文件使用"with"语句的方式详解


Posted in Python onOctober 16, 2018

是否可以直接使用with语句与CSV文件?能够做这样的事情似乎很自然:

import csv
with csv.reader(open("myfile.csv")) as reader:
  # do things with reader

但是csv.reader不提供__enter__和__exit__方法,所以这不行.但是我可以分两步做:

import csv
with open("myfile.csv") as f:
  reader = csv.reader(f)
  # do things with reader

这是第二种方式吗?为什么他们不会使csv.reader与with语句直接兼容?

with语句的主要用法是对语句中使用的对象进行异常安全的清除.确保文件已关闭,锁定已释放,上下文恢复等.

Python .org/library/csv.html#csv.reader” rel=”noreferrer”>csv.reader是否有异常清理的东西?

我会一起去:

with open("myfile.csv") as f:
  for row in csv.reader(f):
    # process row

您不需要将修补程序提交到一起使用csv.reader和语句.

import contextlib

模块 contextlib 中功能上下文管理器的帮助:

contextmanager(func)
  @contextmanager decorator.

典型用法:

@contextmanager
  def some_generator(<arguments>):
    <setup>
    try:
      yield <value>
    finally:
      <cleanup>

这使得:

with some_generator(<arguments>) as <variable>:
    <body>

相当于:

<setup>
  try:
    <variable> = <value>
    <body>
  finally:
    <cleanup>

以下是我如何使用它的具体示例: curses_screen .

总结

以上所述是小编给大家介绍的Python中的CSV文件使用"with"语句的方式详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
代码讲解Python对Windows服务进行监控
Feb 11 Python
Django如何防止定时任务并发浅析
May 14 Python
浅析python redis的连接及相关操作
Nov 07 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
Python学习之os模块及用法
Jun 03 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
详解django的serializer序列化model几种方法
Oct 16 #Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 #Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 #Python
django 将model转换为字典的方法示例
Oct 16 #Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 #Python
使用Python编写Prometheus监控的方法
Oct 15 #Python
python取数作为临时极大值(极小值)的方法
Oct 15 #Python
You might like
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
js实现电灯开关效果
2021/01/19 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
tensorboard显示空白的解决
2020/02/15 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
人力资源主管职责范本
2014/03/05 职场文书
数学系毕业生求职信
2014/05/29 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
运动会开幕式主持词
2015/07/01 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
Python学习之包与模块详解
2022/03/19 Python