0
点赞
收藏
分享

微信扫一扫

with open 为什么 open函数需要 with

在Python中,with关键字被用于异常处理和确保清理工作的执行,无论操作是否成功。这种结构被称为上下文管理协议(Context Management Protocol)。

当你使用open函数打开一个文件时,你需要在完成操作后关闭它。如果你忘记关闭文件,Python的垃圾回收器最终会关闭它,但是文件将会在你的程序中保持打开状态,直到垃圾回收器关闭它。这可能会导致一些问题,比如资源泄漏。

当你使用with语句时,Python会在with代码块结束时自动关闭文件,即使在处理文件时发生了异常。这就是为什么我们通常在处理文件时使用with语句。

所以,你的代码:

with open(addr, 'r') as f:
    f_read = f.read()
    print(f_read, type(f_read))

在这段代码中,with open(addr, 'r') as f:打开文件,并将文件对象赋值给变量f。然后,在with代码块中,你可以读取文件并打印文件内容。当with代码块结束时,Python会自动关闭文件,无论你的代码是否成功执行或是否引发了异常。

总的来说,使用with语句可以让你的代码更安全,也更容易理解。

import tomlkit

with open(addr, 'r') as f:
    data = tomlkit.parse(f.read())
print(data, type(data))

举报

相关推荐

0 条评论