我认为这个问题更多是“编码风格”,而不是技术问题。
说我有一行代码:
buf = open('test.txt','r').readlines() ...
文件描述符会自动关闭还是留在内存中?如果文件描述符未关闭,则首选的关闭方式是什么?
如果将文件对象分配给变量,则可以使用来显式关闭它 .close()
.close()
f = open('test.txt','r') buf = f.readlines() f.close()
另外,(也通常是首选),您可以使用Python文档中with提到的关键字(Python 2.5及更高版本):
with
with 在处理文件对象时,最好使用关键字。这样做的好处 是 ,即使在执行过程中引发了异常, 文件在其套件完成后也将正确关闭 。它也比编写等效的try-finally块要短得多:
>>> with open('test.txt','r') as f: ... buf = f.readlines() >>> f.closed True