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计算书页码的统计数字问题实例
Sep 26 Python
python抽象基类用法实例分析
Jun 04 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
PyQt5实现QLineEdit添加clicked信号的方法
Jun 25 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
python十进制转二进制的详解
Feb 07 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
基于Python爬取股票数据过程详解
Oct 21 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python math模块的基本使用教程
2021/01/16 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
早读迟到检讨书
2014/01/24 职场文书
教师自我鉴定范文
2014/03/20 职场文书
委托书范本
2014/04/02 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
我爱我班主题班会
2015/08/13 职场文书
Python采集壁纸并实现炫轮播
2022/04/30 Python