Get A List Of Files From Directories With Python

August - 2018

This works to get a list of files recursively:

import glob 
from os.path import isfile

source_directory = 'some/path/to/files'

source_files = [
    file for file in glob.glob(
        f"{source_directory}/**/*",
        recursive=True
    )
    if isfile(file)
]

NOTE: Does not pick up . invisible files.


Old Notes


Getting a list of files in python

Glob works:

import glob
    
schedule_files = glob.glob(*.xml)
    
for schedule_file in schedule_files:
    print(schedule_file)

You can also do recursive like this:

file_list = glob.glob(f'{root_path}/**/*.mp3', recursive=True)

TODO: Test with different structures to confirm and provide examples.


#!/usr/bin/env python
    
from os import listdir
from os.path import isfile, join
    
source_dir = 'some-dir'
file_list = [f for f in listdir(source_dir) if isfile(join(source_dir, f))]

This returns the list of filenames including the extension but without the directory path.


via: https://stackoverflow.com/questions/3207219/how-do-i-list-all-files-of-a-directory