gpt4 book ai didi

python - 如果一次读取整个文件需要 with 语句?

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:59 25 4
gpt4 key购买 nike

我使用它已有 12 年了:

content=open(foo).read()

来自大学的新同事说:你应该使用with语句。

with open(foo) as fd:
content=fd.read()

我没有看到一个很好的理由为什么我应该输入不必要的内容。

with 语句给我的唯一好处是:一旦 block 离开,fd 就会关闭。如果没有 with 语句,如果垃圾收集器开始执行其工作,则 fd 将关闭。

请告诉我:如果我一次读取整个文件,为什么要使用 with 语句?

更新:我知道 with 语句是如何工作的,我知道它很有用(例如写入文件)。

最佳答案

好吧,就您的目的而言,没有真正的理由。但是,with 的用处并不仅限于文件。它可以与线程一起使用。例如:

import threading
lock = threading.Lock()
with lock:
# Critical section
statements
# End critical section

with 语句在控制进入和离开后面的语句 block 时自动获取和释放锁。

使用它已成为一种很好的做法,因为它为您的代码增加了额外的安全性,并使文件读取部分更加突出和可读(在我看来),因为当您使用 with 语句时,您本质上是在缩进 block 内。

关于python - 如果一次读取整个文件需要 with 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19634335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com