【发布时间】:2020-05-09 03:49:20
【问题描述】:
我有以下行:
service = discovery.build('sheets', 'v4', credentials=pickle.load(open('google_sheets_token.pickle', 'rb')))
虽然实现这样的事情很简单:
with open('google_sheets_token.pickle', 'rb') as f:
service = discovery.build('sheets', 'v4', credentials=pickle.load(f))
我想知道是否可以在传递给函数后自动关闭文件?
【问题讨论】:
-
不,如果您不保留对它的引用,则不会。惯用的方法是使用上下文管理器,这就是它们的用途
-
您只关心打开文件以供读取还是写入?
-
@Georgy 不是真的。这基本上只是说使用我在问题的第二部分中使用的方法:我很好奇是否有可能根本不使用它。
标签: python python-3.x contextmanager resource-management