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中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
Python多线程编程简单介绍
Apr 13 Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 Python
python 全局变量的import机制介绍
Sep 07 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
Django中url的反向查询的方法
Mar 14 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
python中round函数保留两位小数的方法
Dec 04 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中的extract的作用分析
2008/04/09 PHP
php mysql数据库操作分页类
2008/06/04 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Python二元算术运算常用方法解析
2020/09/15 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
.NET常见笔试题集
2012/12/01 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
打架检讨书800字
2014/01/10 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript