Use os.listdir() or pathlib.Path.iterdir()
You can list all files in a directory and store them in a list using these methods:

Method 1: Using os.listdir() with filtering

import os
directory = '/path/to/directory'
files = [f for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]
print(files)

Method 2: Using os.walk() to get all files recursively

import os
directory = '/path/to/directory'
files = []
for dirpath, _, filenames in os.walk(directory):
   for f in filenames:
       files.append(os.path.join(dirpath, f))
print(files)

Method 3: Using pathlib (Python 3.4+)

from pathlib import Path
directory = Path('/path/to/directory')
files = [f.name for f in directory.iterdir() if f.is_file()]
print(files)

Optional: Get full paths

# pathlib
files = [str(f.resolve()) for f in directory.iterdir() if f.is_file()]
# os
files = [os.path.join(directory, f) for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]

Notes:

  • Use os.listdir() for simple cases.
  • Use os.walk() if you want to include files from subdirectories.
  • Prefer pathlib for cleaner and more readable code in modern Python.
Also Read

Also Read:

Why Use Python

Need Help With Python Development?

Work with our skilled Python developers to accelerate your project and boost its performance.

Hire Python Developers

Support On Demand!

Related Q&A