Learn the coding skills for your next job

How to Check if a File Exists in Python

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 :(")
Code language: Python (python)

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 :(")
Code language: Python (python)

Learn Python, get hired

Python has been growing in popularity for over 20 years, and today is used by tens of thousands of companies to deliver reliable software. If you are interested in a career in Python get started by writing real code with us.

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 :(")
Code language: Python (python)

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 :(")
Code language: Python (python)

Use pathlib.Path(path).is_symlink() to check for only symlinks

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 :(")
Code language: Python (python)

Trying to find your next programming job?

If you are a self-taught developer having trouble finding your first programming job, we've got your back! We have the learning resources and tight-knit dev community that you need to land the coding job you've been looking for. To get started, create a free account and join our Discord community.

Have questions or feedback?

If we've made a mistake in the article, please let us know so we can get it corrected!