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語句的主要用法是對語句中使用的對象進(jìn)行異常安全的清除.確保文件已關(guān)閉,鎖定已釋放,上下文恢復(fù)等.
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
您不需要將修補(bǔ)程序提交到一起使用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>
相當(dāng)于:
<setup> try: <variable> = <value> <body> finally: <cleanup>
以下是我如何使用它的具體示例: curses_screen .
總結(jié)
以上所述是小編給大家介紹的Python中的CSV文件使用"with"語句的方式詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
python射線法判斷檢測點(diǎn)是否位于區(qū)域外接矩形內(nèi)
這篇文章主要為大家詳細(xì)介紹了python射線法判斷檢測點(diǎn)是否位于區(qū)域外接矩形內(nèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Python使用pymysql從MySQL數(shù)據(jù)庫中讀出數(shù)據(jù)的方法
今天小編就為大家分享一篇Python使用pymysql從MySQL數(shù)據(jù)庫中讀出數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07深入剖析Python的爬蟲框架Scrapy的結(jié)構(gòu)與運(yùn)作流程
這篇文章主要介紹了Python的爬蟲框架Scrapy的結(jié)構(gòu)與運(yùn)作流程,并以一個(gè)實(shí)際的項(xiàng)目來講解Scrapy的原理機(jī)制,十分推薦!需要的朋友可以參考下2016-01-01Python實(shí)現(xiàn)向好友發(fā)送微信消息
利用python可以實(shí)現(xiàn)微信消息發(fā)送功能,怎么實(shí)現(xiàn)呢?你肯定會想著很復(fù)雜,但是python的好處就是很多人已經(jīng)把接口打包做好了,只需要調(diào)用即可,今天通過本文給大家分享使用?Python?實(shí)現(xiàn)微信消息發(fā)送的思路代碼,一起看看吧2022-06-06Python實(shí)現(xiàn)視頻畫質(zhì)增強(qiáng)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)對視頻進(jìn)行畫質(zhì)增強(qiáng)功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-04-04Python_查看sqlite3表結(jié)構(gòu),查詢語句的示例代碼
今天小編就為大家分享一篇Python_查看sqlite3表結(jié)構(gòu),查詢語句的示例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07