How to Check if a File Exists in Python

Boot.dev Blog » Python » How to Check if a File Exists in Python
Lane Wagner
Lane Wagner

Last published December 8, 2021

Subscribe to curated backend podcasts, videos and articles. All free.

When working with files in Python, you’ll often need to check if a file exists before you do anything else with it, such as reading from or writing to it. Luckily, the Python standard library makes this a piece of cake.

Use pathlib.Path.exists(path) to check for files and directories 🔗

from pathlib import Path

path_exists = Path.exists("home/dir/file.txt")

if path_exists:
    print("found it!")
else:
    print("not found :(")

Notice that path_exists will be True whether this is a file or a directory, it’s only checking if the path exists.

Note: On older versions of Python you may not have access to the pathlib module. If that’s the case, you can use os.path.exists().

from os.path import exists

path_exists = exists("home/dir/file.txt")

if path_exists:
    print("found it!")
else:
    print("not found :(")

Use pathlib.Path(path).is_file() to check for only files 🔗

from pathlib import Path

file_exists = Path.is_file("home/dir/file.txt")

if file_exists:
    print("found it!")
else:
    print("not found :(")

Use pathlib.Path(path).is_dir() to check for only directories 🔗

from pathlib import Path

dir_exists = Path.is_dir("home/dir")

if dir_exists:
    print("found it!")
else:
    print("not found :(")

A symlink is a path that points to, or aliases another path in a filesystem.

from pathlib import Path

symlink_exists = Path.is_dir("home/dir/some_symlink")

if symlink_exists:
    print("found it!")
else:
    print("not found :(")

Find a problem with this article?

Report an issue on GitHub