从函数返回后是否关闭文件?

2024-03-28 08:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个python函数:

def read_data(filename):
    f = zipfile.ZipFile(filename)
    for name in f.namelist():
        return tf.compat.as_str(f.read(name))
    f.close()

文件会被关闭吗?调用时没有错误。你知道吗


Tags: 函数nameinforreaddatareturntf
1条回答
网友
1楼 · 发布于 2024-03-28 08:20:26

文件无法关闭。如果要关闭文件,可以按以下方式编写:

def read_data(filename):
    with zipfile.ZipFile(filename) as f:
        for name in f.namelist():
            return tf.compat.as_str(f.read(name))

测试代码: picture shows that the file wasn't closed

使用with测试代码: picture shows that the file has been closed

相关问题 更多 >