使用文件时,将文件存储在变量中还是在 Python 上使用 'with' 更可取?

When working with files, is it preferable to store file in variable or use 'with' on Python?

这两个哪个最好?为什么?

可变选项:

file = open('rabbits.txt')
party = file.readlines()
file.close()

或'with'选项:

with open('rabbits.txt') as file:
    party = file.readlines()

基本上,语句'with'有助于稍微缩短我们的代码,因为我们不需要在最后关闭文件。此外,它是一次打开多个文件的不错选择,如下所示:

with open('rabbits.txt', 'r', encoding='utf-8') as input_file, \
     open('rabbits_lowercase.txt', 'w', encoding='utf-8') as first_file, \
     open('rabbits_uppercase.txt', 'w', encoding='utf-8') as second_file:
    for line in input_file:
        first_file.write(line.lower())
        second_file.write(line.upper())

此外,语句 'with' 被认为是在 Python 上引入上下文管理器以有效管理资源。