在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))
标签:为什么,函数,文件,read,代码,Python,关闭,open
From: https://blog.51cto.com/u_16055028/8346465