¿Por qué cerrar un conjunto de datos en GDAL Python?

14

Veo muy a menudo en el código GDAL de Python que las personas cierran conjuntos de datos al final de su script. ¿Por qué tiene sentido cerrar un conjunto de datos en Python GDAL? ¿Hay consecuencias si no lo hago?

import gdal

# open dataset
ds = gdal.Open('test.tif')

# close dataset
ds = None
    
pregunta ustroetz 12.12.2013 - 23:29

1 respuesta

13

No creo que esto tenga ningún propósito en el final de la secuencia de comandos, ya que el recolector de basura de Python hará lo mismo automáticamente cuando se cierre la secuencia de comandos. La razón por la que podría querer hacerlo es en medio de su secuencia de comandos, para recuperar los recursos retenidos al acceder al conjunto de datos, eliminar bloqueos de archivos, etc., para que pueda reutilizarlos.

del ds debería tener el mismo efecto pero es más claro en cuanto a su intención.

El enfoque más Pythonic sería utilizar una with statement , pero GDAL / OGR sí No lo implemente. Sin embargo, hay algunos envoltorios GDAL / OGR como Rasterio y Fiona que lo hacen.

    
respondido por el blah238 13.12.2013 - 01:49

Lea otras preguntas en las etiquetas