【发布时间】:2016-09-07 01:08:15
【问题描述】:
这是一个python函数:
def read_data(filename):
f = zipfile.ZipFile(filename)
for name in f.namelist():
return tf.compat.as_str(f.read(name))
f.close()
文件会被关闭吗?调用没有错误。
【问题讨论】:
-
我不太了解这里的缩进,您可能会遇到语法错误或对程序的意外解释。为什么
for语句相对于前面的变量声明缩进? -
另外,如果你修复缩进,答案是否定的,文件不会被关闭。您应该在此处使用
with子句,以便在您离开范围后自动释放文件句柄。 -
您的代码也不会像第一次迭代中的
return那样遍历namelist...如果您正在寻找更多此函数的一个结果。 -
@AsadSaeeduddin 我很确定python在返回后不会执行打印方法,但不相信关闭文件。
-
@C.Zion Python 不会在返回后执行任何操作,对于名为
close的方法没有特别的限制。