On 2014-08-07 08:26, Ben Finney wrote: > Virgil Stokes <v...@it.uu.se> writes: > > Suppose I have a directory C:/Test that is either empty or > > contains more than 2000000 files, all with the same extension > > (e.g. *.txt). How can I determine if the directory is empty > > WITHOUT the generation of a list of the file names in it (e.g. > > using os.listdir('C:/Test')) when it is not empty? > > Certainly ‘os.listdir(foo)’ is the simplest way to determine the > entries in a directory, and thereby to test whether it is empty. > That simplicity is very valuable, and you should have a compelling, > *measured* reason to do something more complicated. What is it?
With all the changes in 2->3 where many listy things were made into iteratory things (e.g. range()), I was surprised that os.listdir() didn't do likewise since I believe that just about every OS uses some iterator-like call behind the scenes anyways. The difference in timings when serving a web-request are noticeable (in my use-case, I had to change my algorithm and storage structure to simplify/avoid heavily-populated directories) -tkc -- https://mail.python.org/mailman/listinfo/python-list