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实现高效求解素数代码实例
Jun 30 Python
Python简单计算文件夹大小的方法
Jul 14 Python
开始着手第一个Django项目
Jul 15 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python3.x提取中文的正则表达式示例代码
Jul 23 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
python爬取代理ip的示例
Dec 18 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 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 header下载函数
2014/01/31 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
Linux中为php配置伪静态
2014/12/17 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
个人简历的自荐信
2013/10/23 职场文书
门面房租房协议书
2014/08/20 职场文书
民主评议党员工作总结
2014/10/20 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫