python的with方法

本文深入解析了Python中with方法的工作原理,介绍了其如何通过__enter__和__exit__方法确保资源如文件的安全打开与关闭,避免了因忘记关闭文件导致的资源泄露问题。

文章来源:文章来源:
python with方法:
python推荐款使用with方法来读取文件,防止程序员打开文件后忘记关闭文件。
这是怎么实现的呢?
with可操纵的对象必须有__enter____exit__两个方法。

  • with后面的对象在求值后,对象的__enter__()方法被调用。这将把with后面紧紧跟着的对像赋值给as后面的变量。
  • with下面的语句执行好以后,将调用前面返回对象的__exit__()方法。

下面例子可以具体说明with如何工作:

class Sample:
	def __enter__(self):
		print("In __enter__()")
		return "Foo"
	def __exit__(self,type, value, trace):
		print("In __exit__()")
def get_sample():
	return Sample()

with get_sample() as sample:
	print("sample:" + sample)

在 上面的 exit中得参数利可以定义with执行发生异常的时候应该如何处置。比如清理资源,关闭文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值