【发布时间】:2012-08-22 17:29:12
【问题描述】:
假设我有一个文件test.txt 并且想要打印内容。我可以在 Python 中这样做(这只是说明我的问题的示例,而不是好的代码示例):
for i in (line for line in open('test.txt')):
print ">", i,
我使用strace 确保在代码执行后打开和关闭文件。
问题:为什么文件被关闭了?我想这与上下文管理器有关,但我找不到对这种结构的任何引用以及文件自动关闭的原因。谁知道幕后究竟发生了什么并能解释一下?
【问题讨论】: