溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的CSV文件使用"with"語句的方式詳解

發(fā)布時間:2020-10-23 16:38:44 來源:腳本之家 閱讀:129 作者:代碼日志 欄目:開發(fā)技術

是否可以直接使用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"語句的方式詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI