1行のコードでファイルを開いて読み取って閉じる 質問する

1行のコードでファイルを開いて読み取って閉じる 質問する

今私が使っているのは:

pageHeadSectionFile = open('pagehead.section.htm','r')
output = pageHeadSectionFile.read()
pageHeadSectionFile.close()

しかし、コードの見栄えを良くするために、次のようにすることができます。

output = open('pagehead.section.htm','r').read()

上記の構文を使用する場合、システム リソースを解放するためにファイルを閉じるにはどうすればよいですか?

ベストアンサー1

実際に閉じる必要はありません。Python はガベージ コレクション中またはプログラム終了時に自動的に閉じます。ただし、@delnan が指摘したように、さまざまな理由から明示的に閉じる方がよい方法です。

では、短く、シンプルかつ明確にするために何ができるでしょうか。

with open('pagehead.section.htm', 'r') as f:
    output = f.read()

今ではたった 2 行で、かなり読みやすいと思います。

おすすめ記事