On Thu, Nov 19, 2009 at 11:52, Mathew Yeates <[email protected]> wrote: > There is definitely something wrong with matplotlib/numpy. Consider the > following >>from numpy import * >>mydata=memmap('map.dat',dtype=float64,mode='w+',shape=56566500) >> del mydata > > I can now remove the file map.dat with (from the command line) $rm map.dat > > However > If I plotĀ mydata before the line >> del mydata > > > I can't get rid of the file until I exit python!! > Does matplotlib keep a reference to the data?
Almost certainly. > How can I remove this > reference? Probably by deleting the plot objects that were created and close all matplotlib windows referencing the data. If you are using IPython, you should know that many of the returned objects are kept in Out, so you will need to clear that. There might be some more places internal to matplotlib, I don't know. With some care, you can use gc.get_referrers() to find the objects that are holding direct references to your memmap. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
