memory management
Dave Angel
d at davea.name
Mon Nov 7 15:50:19 EST 2011
On 11/07/2011 03:33 PM, Juan Declet-Barreto wrote:
> Well, I am using Python 2.5 (and the IDLE shell) in Windows XP, which ships with ESRI's ArcGIS. In addition, I am using some functions in the arcgisscripting Python geoprocessing module for geographic information systems (GIS) applications, which can complicate things. I am currently isolating standard library Python code (e.g., os.walk()) from the arcgisscripting module to evaluate in which module the environment crash is occurring.
You top-posted. In this mailing list, one should type new information
after the quoted information, not before.
Perhaps a pre-emptive strike is in order. On the assumption that it may
be a memory problem, how about you turn the app inside out. Instead of
walking the entire tree, getting a list with all the paths, and then
working on the list, how about doing the work on each file as you get
it. Or even make your own generator from os.walk, so the app can call
your logic on each file, and never have all the file (name)s in memory
at the same time.
Generator:
def filelist(top, criteria):
for a, b, c in os.walk():
for fiile in files:
apply some criteria
yield file
Now the main app can iterate through this "list" in the usual way
for filename in filelist(top, "*.txt"):
dosomething...
--
DaveA
More information about the Python-list
mailing list