当前位置: 首页 > 编程笔记 >

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

相高谊
2023-03-14
本文向大家介绍Python中的CSV文件使用"with"语句的方式详解,包括了Python中的CSV文件使用"with"语句的方式详解的使用技巧和注意事项,需要的朋友参考一下

是否可以直接使用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 的 with 语句详解,包括了Python 的 with 语句详解的使用技巧和注意事项,需要的朋友参考一下 一、简介 with是从Python 2.5 引入的一个新的语法,更准确的说,是一种上下文的管理协议,用于简化try…except…finally的处理流程。with通过__enter__方法初始化,然后在__exit__中做善后以及处理异常。对于一些需要预先设置,

  • 本文向大家介绍理解Python中的With语句,包括了理解Python中的With语句的使用技巧和注意事项,需要的朋友参考一下 With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 如果不用with语句,代码如下: 这里有两个问

  • 问题内容: 我正在研究如何在Python中进行文件输入和输出。我编写了以下代码,以将文件列表中的名称列表(每行一个)读入另一个文件中,同时对照文件中的名称检查名称并将文本附加到文件中的出现位置。该代码有效。可以做得更好吗? 我想对输入和输出文件都使用该语句,但看不到它们如何位于同一块中,这意味着我需要将名称存储在一个临时位置。 问题答案: Python允许将多个语句放在一个语句中。你用逗号分隔。你

  • 问题内容: 我试图了解这些之间是否存在差异,以及该差异可能是什么。 选项一: 选项二: 我知道,对于选项一,with块之后处于闭合状态。 问题答案: 我不知道为什么没有人提到这一点,因为这是工作方式的基础。与Python中的许多语言功能一样,在后台调用特殊方法,这些方法已经为内置Python对象定义,并且可以由用户定义的类覆盖。在特定情况下(和上下文管理器),方法是和。 请记住,在Python中,

  • 本文向大家介绍Python中的上下文管理器和with语句的使用,包括了Python中的上下文管理器和with语句的使用的使用技巧和注意事项,需要的朋友参考一下 Python2.5之后引入了上下文管理器(context manager),算是Python的黑魔法之一,它用于规定某个对象的使用范围。本文是针对于该功能的思考总结。 为什么需要上下文管理器? 首先,需要思索下为什么需要引入上下文管理器。

  • 问题内容: 我喜欢Python 2.7中多上下文语句的便利性: 但是,我需要保持与2.6的兼容性。 是通过引入到2.5的,但是在文档中找不到关于多上下文版本被反向移植到2.6的任何信息。 有什么我想念的吗? 编辑:我知道可以嵌套语句。我在问是否可以使用多个with语句。 问题答案: 如果没有向后兼容的等效方法,我将使多上下文语句成为一组单上下文嵌套语句来处理。 编辑以解决您的修改: 如果您坚持不嵌