美文网首页
python中with的用法

python中with的用法

作者: 小阿六Minasix | 来源:发表于2019-10-05 16:20 被阅读0次

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_27713281/article/details/72758602

在python中,有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄,也例如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)

————————————————

版权声明:本文为CSDN博主「AFCentry」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_27713281/article/details/72758602

相关文章

  • 2022-08-18 node 与 python 交互

    node与python交互,可以使用 python-shell 。 用法: node中: python: 更多用法...

  • python 判断 循环 包 模块 函数

    标签 : python 判断 python中是没有switch这个用法的,实现这个用法最简单的就是上面的if......

  • Python笔记setdefault用法

    Python字典中setdefault的用法: Python 字典 setdefault() 方法和get()方法...

  • Python笔记

    [python 中的[::-1]] - 反转 这个是python的slice notation的特殊用法。a = ...

  • Python中with的用法

    第一次遇到with是在文件那一章,with的作用是就是会自动关掉文件管道。 这一部分就等价于 第二次是在数据库连接...

  • Python中in的用法

    有时候要判断一个数是否在一个序列里面,这时就会用到in运算符来判断成员资格,如果条件为真时,就会返回true,条件...

  • python中with的用法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接...

  • python中%的用法

    1. 打印字符串 print (“His name is %s”%(“Aviad”)) 效果: 2.打印整数 pr...

  • python 中 with的用法

    with 语句使用于对资源进行访问的场合,确保不管使用过程是否发生异常都会执行必要的"清理"操作,释放资源,比如文...

  • python中*的用法

    一个变量名之前加号,表示把变量里的元素直接传进来作为参数。比如:test(args):* 的作用其实就是把序列 a...

网友评论

      本文标题:python中with的用法

      本文链接:https://www.haomeiwen.com/subject/nsxypctx.html