我使用它已经有12年了:
content=open(foo).read()
新来的大学同事说:你应该使用 with
语句。
with open(foo) as fd:
content=fd.read()
我认为我没必要多打字,除非有充分的理由需要这么做。
使用
with
语句的唯一好处是,在块结束时会自动关闭文件描述符fd
。如果不使用with
语句,当垃圾回收机制开始工作时才会关闭文件描述符fd
。请告诉我:如果我一次读取整个文件,为什么还需要使用
with
语句?更新:我知道
with
语句的工作原理,也知道它的用途(例如写入文件)。