回答:
Pythonのガベージコレクターはスクリプトの終了時に同じことを自動的に行うため、これはスクリプトの最後に何の目的もないと思います。データセットにアクセスして保持されているリソースを回復したり、ファイルロックを削除したりするなどして、再利用できるようにするために、スクリプトを実行する理由があります。
del ds
同じ効果があるはずですが、その意図はより明確です。
よりPython的なアプローチはwith
statementを使用することですが、GDAL / OGRはそれを実装しません。ただし、RasterioやFionaなどのGDAL / OGRラッパーがいくつかあります。
f = open(filename)
で閉じますf.close()
。ではありませんdel f
かf = None
。どうして?オブジェクトが参照されなくなった後に起こることは、インタプリタの実装の詳細であり、明示的は暗黙的よりも優れているためです(python.org/dev/peps/pep-0020)。
GDALClose()
明示的にしたい場合に呼び出すメソッドがあります(Rasterioがこれを内部的に呼び出すことがわかります)。
GDALClose()
実装されていませんが、データセットをNone
(つまりds = None
)に設定することは同等です。