Hi Mike,

On 5/3/14, 10:03 PM, Mike Toews wrote:
Hi,

This seems to be a common gotcha: http://gis.stackexchange.com/q/93212/1872

I've been caught by it before, and I'm certain many others have too.
This is a gotcha since "WriteArray" doesn't write the array to disk,
but rather it is written when the dataset object is dereferenced. I've
drafted up an entry for the wiki, which could be placed before
"Certain objects contain a Destroy() method, but you should never use
it".

Furthermore, I'm unsure of the best way to demonstrate how to
dereference Python objects. The wiki has two different styles:
     obj = None
or
     del obj

I'm unsure of which is regarded best practice, but encourage
consistency. Please edit as necessary or reply with suggestions.

-Mike

The thing is that `obj = None` and `del obj` only cause the file to be written (indirectly) if there are no other references to the Dataset object. In which case `obj = "Close!"` works just as well ;)

If your code did something like `obj2 = obj` then neither `obj = None` nor `del obj` will result in the file being closed because the Dataset object will still have a live reference (obj2).

--
Sean Gillies
s...@mapbox.com
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to