waling a directory with very many files

Terry Reedy tjreedy at udel.edu
Sun Jun 14 19:48:15 EDT 2009


tom wrote:
> i can traverse a directory using os.listdir() or os.walk(). but if a
> directory has a very large number of files, these methods produce very
> large objects talking a lot of memory.
> 
> in other languages one can avoid generating such an object by walking
> a directory as a liked list. for example, in c, perl or php one can
> use opendir() and then repeatedly readdir() until getting to the end
> of the file list. it seems this could be more efficient in some
> applications.
> 
> is there a way to do this in python? i'm relatively new to the
> language. i looked through the documentation and tried googling but
> came up empty.

You did not specify version.  In Python3, os.walk has become a generater 
function.  So, to answer your question, use 3.1.

tjr




More information about the Python-list mailing list