Search code examples
pythonfiletraversal

Traversing File Directory


this is the first question I am posting on stackoverflow so excuse me if I did something out of the norm.

I am trying to create a python program which traverses a user selected directory to display all file contents of the folders selected. For example: Documents folders has several folders with files inside of them, I am trying to save all files in the Documents folder to an array.

The method below is what I am using to traverse a directory (hoping it is a simple problem)

def saveFilesToArray(dir):
allFiles = []

os.chdir(dir)
for file in glob.glob("*"):
    print(file)
    if (os.path.isfile(file)):
        allFiles.append(file)
    elif(os.path.isdir(file)):
        print(dir + "/" + file + " is a directory")
        allFiles.append(saveFilesToArray(dir + "/" + file))
return allFiles

Solution

  • This will give you just the files:

    import os
    def list_files(root):
        all_files = []
        for root, dirs, files in os.walk(root, followlinks=True):
            for file in files:
                full_path = os.path.join(root, file)
                all_files.append(full_path)
        return all_files