open 関数は次の2種類の使い方があると聞きました。
### way 1 ### f = open(file_path) print(type(f)) # <class '_io.TextIOWrapper'> f.close() ### way 2 ### with open(file_path) as f: print(type(f)) # <class '_io.TextIOWrapper'>
前者の場合、用が済んだら開いたファイルオブジェクトを close() でクローズする必要があるが、後者のように with ブロックを使えばブロックの終了時に自動的にクローズされるため、閉じ忘れがなくて便利と聞きました。
ここまでは理解できました。
気になっているのは次の場合です。
with ブロックを使わない方法として、ファイルオブジェクトを他の変数に入れないで read 関数をそのまま使ってしまう方法もあると思うのですが、
file_content = open(file_path).read()
この場合 close 関数は不必要という認識であっていますでしょうか。
またこの答えを得るために見るべきドキュメントなどあれば、指南していただけるとうれしいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/28 17:27
2021/12/28 23:51 編集
2022/01/01 15:21