Answers:
我认为这在脚本末尾没有任何用途,因为Python垃圾回收器在脚本退出时会自动执行相同的操作。您可能想要这样做的原因是在脚本的中间,以恢复通过访问数据集持有的资源,删除文件锁等,以便您可以重用它们。
del ds
应该具有相同的效果,但是其意图更加清楚。
更加Pythonic的方法是使用一条with
语句,但是GDAL / OGR没有实现它。但是,确实有一些GDAL / OGR包装器,例如Rasterio和Fiona。
f = open(filename)
然后用关闭一个f.close()
。不是del f
或f = None
。为什么?因为不再引用对象后发生的事情是解释程序实现的详细信息,并且因为显式优于隐式(python.org/dev/peps/pep-0020)。
GDALClose()
如果您想显式地调用一个方法(我看到Rasterio在内部调用了它)。
GDALClose()
尚未实现,但将数据集设置为None
(即ds = None
)是等效的。