Learn back-end development by writing real code

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

How to Check if a File Exists in Python

By Lane Wagner on Dec 8, 2021

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 :(")

Get a back-end job without spending $10k on a bootcamp

  • Learn Python, Javascript and Go
  • Build the professional projects you need to land your first job
  • Spend about 6 months (when done part-time)
  • Pricing as low as $24/month*
  • No risk. Cancel anytime.

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 :(")

Learn back-end without spending $10,000

  • Write modern code in JavaScript, Python and Go
  • Build and deploy real backend projects to your personal portfolio
  • Compete in the job market by mastering computer science fundamentals

Find a problem with this article?

Report an issue on GitHub