python中with的用法

本文介绍了Python中with语句的使用方法及其优势。通过with语句可以简化资源管理操作,如文件处理和数据库连接等,使代码更加简洁且易于维护。文章提供了具体的示例来说明如何使用with语句来优雅地管理文件打开与关闭过程。
原文地址为: python中with的用法

python中,有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,pythonwith语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄,也例如python与数据库的连接使用,需要先创建python与数据库的连接,使用后再对其进行关闭,如此使用比较麻烦,做如下示例介绍

不使用with语句进行文件处理:

file = open("./foo.txt",”r”)

data = file.read()

file.close()

Tips:

这里有两个问题:

一是可能忘记关闭文件句柄;
二是文件读取数据发生异常,没有进行任何处理。将出现程序报错,异常终止!

下面是处理异常的加强版本:

try:

f = open('xxx')

except:

    print 'fail to open'

exit(-1)

try:

code

except:

    Code

finally:

f.close()

虽然这段代码运行良好,但是太冗长了。

这时候就是with一展身手的时候了。除了有更优雅的语法,with还可以很好的处理上下文环境产生的异常。

使用with进行python的文件处理:

With open(“./foo.txt”) as file:

Data = file.read()

With用法原理:紧跟with后面的语句被求值后,返回对象的 __enter__() 方法被调用,这个方法的返回值将被赋值给as后面的变量。

多个相同时使用时写法如下:

with open("./x.txt") as f1, open('./xxx.txt') as f2:

Data_1 = f1.read()

Data_2 = f2.read()

Print(data_1,data_2)


转载请注明本文地址: python中with的用法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值