您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

了解Python的“ with”语句

了解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_fileinfile和返回值open都指向同一个对象,这就是with调用__enter____exit__方法上。内置文件对象的__exit__方法关闭文件方法

python 2022/1/1 18:48:39 有331人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶