您好,登錄后才能下訂單哦!
是否可以直接使用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)站的支持!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。