How can I get the names of the files in a directory?

Egor Bolonev ebolonev at
Sat Jan 15 21:52:54 CET 2005

On Sat, 15 Jan 2005 15:16:02 GMT, .removethis.  
<"(.removethis.)kartic.krishnamurthy"> wrote:

> Sara Fwd said the following on 1/15/2005 8:10 AM:
>> Can you guys also help me find a module that looks in
>> a directory and print out the names of the files in there?
> You can use glob:
>  >>> import glob
>  >>> from os.path import isfile
>  >>> print filter(isfile, glob.glob('/tmp/*')) # can use patterns
> (will print a list of all files in the given directory, matching the  
> given pattern)
> If you want to traverse a directory tree recursively, please take a look  
> at this recipe:  

import os, os.path

def get_all_files(path):
     if len(path) > 0:
         if path[-1] == ':':
             path = path + '\\'
         for i in os.listdir(path):
             j = os.path.join(path, i)
             if os.path.isdir(j):
                 for ii in get_all_files(j):
                     yield ii
                 yield j

for i in get_all_files('c:\\'):
     print i

More information about the Python-list mailing list