2010年1月31日
Python | Django File.save()メソッド
Django | File storage API | Django documentation
DjangoのFileクラスに備わっているsave(name, content)メソッドを使ってファイルのコピーを行ったりしてたんだけど、後でコピー元のファイルを削除しようとすると「プロセスはファイルにアクセスできません。別プロセスが使用中です」とエラーになった。
ソースを追ってみると、File.save()メソッドは上記のStorage.save()メソッドを呼び、Storage.save()ではcontent引数のFileオブジェクトはクローズしていないことが分かった。
File.save()メソッドを実行した後は、元ファイルはclose()メソッドを呼んでおかなければいけないということ。
Comment