Search code examples
pythonfiledirectorysubdirectorydirectory-tree

Directory-tree listing in Python


How do I get a list of all files (and directories) in a given directory in Python?


Solution

  • This is a way to traverse every file and directory in a directory tree:

    import os
    
    for dirname, dirnames, filenames in os.walk('.'):
        # print path to all subdirectories first.
        for subdirname in dirnames:
            print(os.path.join(dirname, subdirname))
    
        # print path to all filenames.
        for filename in filenames:
            print(os.path.join(dirname, filename))
    
        # Advanced usage:
        # editing the 'dirnames' list will stop os.walk() from recursing into there.
        if '.git' in dirnames:
            # don't go into any .git directories.
            dirnames.remove('.git')