栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

了解Python的“ with”语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

了解Python的“ with”语句

我不知道为什么没有人提到这一点,因为这是工作方式

with
的基础。与Python中的许多语言功能一样,
with
在后台调用特殊方法,这些方法已经为内置Python对象定义,并且可以由用户定义的类覆盖。在
with
特定情况下(和上下文管理器),方法是
__enter__
__exit__

请记住,在Python中, 所有东西都是对象
-甚至是文字。这就是为什么您可以做类似的事情

'hello'[0]
。因此,是否直接使用由以下文件返回的文件对象并不重要
open

with open('filename.txt') as infile:    for line in infile:        print(line)

或先使用其他名称存储(例如,将长行分开):

the_file = open('filename' + some_var + '.txt')with the_file as infile:    for line in infile:        print(line)

因为最终的结果是

the_file
infile
和返回值
open
都指向同一个对象,这就是
with
被调用
__enter__
__exit__
方法上。内置文件对象的
__exit__
方法是关闭文件的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号