with语句的主要用途是对语句中使用的对象进行异常安全清除。
with确保关闭文件,释放锁,还原上下文等。
如果发生异常,csv.reader是否有要清除的内容?
我会去:
with open("myfile.csv") as f: for row in csv.reader(f): # process row
您无需提交修补程序即可使用
csv.reader和
with声明。
import contextlib
模块contextlib中的函数contextmanager的帮助:
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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)