执行一次open()而不将其分配给变量的调用会关闭文件句柄吗?
import json
_keyfile = json.load(open("s3_key.json", "r"))
如果在其上调用.read()怎么办?
import json
_keyfile = json.loads(open("s3_key.json", "r").read())
答案 0 :(得分:5)
根据python docs,文件保持打开状态,直到您在文件对象或上调用close()
为止,垃圾收集器将启动并为您关闭文件。
因此,在读取文件时更喜欢使用上下文管理器(即with
语句),因为它们会为您关闭文件。
import json
with open("s3_key.json", "r") as f:
_keyfile = json.load(f)
# f is now closed