【Python关键字 With】浅析With的用法和注意

初学Python的过程中遇到With,例如:

with open("/tmp/foo.txt") as file:
    data = file.read()

这让我想起了C#里面的Using:

using (FileStream fs = new FileStream("test.txt", FileMode.Create))
{
    //将字符串写入文件
    fs.Write(bytesToWrite, 0, bytesToWrite.Length);
}

这两者有异曲同工的地方是:无论Using或With下执行的语句出现什么错误,这一段代码使用的资源都会被系统自动回收关闭。

简而言之,以上述功能为例:打开文件后,对文件进行读/写操作,万一这过程中出现问题,文件都会被回收释放,而不会卡在那里。


with的作用:  
使用with后不管with中的代码出现什么错误,都会进行对当前对象进行清理工作。
例如file的file.close()方法,无论with中出现任何错误,都会执行file.close()方法

使用格式:

    with context_expression [as target(s)]:
        with-body

实例:

    with open(r'fileName') as myfile:
        for line in myfile:
            print line
            # ...Todo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值