1. ホーム
  2. python

[解決済み] 1行のコードでファイルを開く、読む、閉じる

2022-04-23 18:29:30

質問

今は使っています。

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

しかし、コードの見栄えをよくするために、私はできる。

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

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

どのように解決するのですか?

Pythonはガベージコレクション時やプログラム終了時に自動的に閉じますので、本当に閉じる必要はありません。しかし、@delnan が指摘したように、様々な理由から、明示的に閉じる方が良い習慣です。

そこで、短く、シンプルに、そして明示的にするためにできること。

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

これで2行になり、かなり読みやすくなったのではないでしょうか。