1. ホーム
  2. python

[解決済み] Python 2.4でファイルを安全にオープン/クローズする方法

2023-04-24 03:51:42

質問

私は現在、Pythonを使用して、私たちのサーバーの1つで使用するための小さなスクリプトを書いています。 そのサーバーには Python 2.4.4 しかインストールされていません。

私が Python を使い始めたのは 2.5 が出てからなので、この形式には慣れています。

with open('file.txt', 'r') as f:
    # do stuff with f

しかし with ステートメントがなく、ファイルオブジェクトを手動でクリーンアップする適切な方法についての例を見つけるのに苦労しています。

Python の古いバージョンを使用しているとき、ファイルオブジェクトを安全に廃棄するためのベストプラクティスは何ですか?

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

参照 docs.python.org :

<ブロッククオート

ファイルを使い終わったら、f.close()を呼んでファイルを閉じ、開いているファイルによって占有されているシステム資源を解放します。f.close()を呼び出した後、ファイルオブジェクトを使用しようとすると、自動的に失敗します。

したがって、次のように使用します。 close() でエレガントに try/finally :

f = open('file.txt', 'r')

try:
    # do stuff with f
finally:
    f.close()

これにより、たとえ # do stuff with f は例外を発生させます。 f は適切に閉じられます。

なお open と表示されるはずです。 外側 try . もし open が例外を発生させた場合、ファイルは開かれておらず、閉じる必要はありません。また、もし open が例外を発生させた場合、その結果は ではなく に割り当てられます。 f を呼び出すとエラーになります。 f.close() .