# Python, how to list files and folders in a directory

> Learn how to list files and folders in a directory in Python using os.listdir(), then os.path.isfile() and os.path.isdir() to tell the two apart.

Author: Flavio Copes | Published: 2021-01-22 | Canonical: https://flaviocopes.com/python-list-files-folders/

To list files in a directory, you can use the `listdir()` method that is provided by the `os` built-in module:

```python
import os

dirname = '/users/Flavio/dev'
files = os.listdir(dirname)

print(files)
```

To get the full path to a file you can join the path of the folder with the filename, using the `os.path.join()` method:

```python
import os

dirname = '/users/Flavio/dev'
files = os.listdir(dirname)

temp = map(lambda name: os.path.join(dirname, name), files)

print(list(temp))
```

To list only the files, or only the directories, you can use `os.path.isfile()` and `os.path.isdir()`:

```python
import os

dirname = '/users/Flavio/dev'
dirfiles = os.listdir(dirname)

fullpaths = map(lambda name: os.path.join(dirname, name), dirfiles)

dirs = []
files = []

for file in fullpaths:
    if os.path.isdir(file): dirs.append(file)
    if os.path.isfile(file): files.append(file)

print(list(dirs))
print(list(files))
```
