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通过socket查询whois的方法
Jul 18 Python
python制作一个桌面便签软件
Aug 09 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
Python查询IP地址归属完整代码
Jun 21 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
python中使用while循环的实例
Aug 05 Python
通过实例了解python property属性
Nov 01 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
Python打印不合法的文件名
Jul 31 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
实现树状结构的两种方法
2006/10/09 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
JSON相关知识汇总
2015/07/03 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
Python实现SMTP邮件发送
2020/06/16 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
优秀英语专业毕业生求职信
2013/11/23 职场文书
活动总结怎么写啊
2014/05/07 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
vue选项卡切换的实现案例
2022/04/11 Vue.js