How do I check if a file or directory exists in Python?
Richard W
richard w profile pic

In Python, you can check if a file or directory exists using theos.path module or thepathlib module. Here's a detailed explanation of both approaches: Using the os.path module: Theos.path module provides functions for working with file and directory paths. You can use theexists() function to check if a file or directory exists.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

import os

file_path = 'path/to/file.txt'
directory_path = 'path/to/directory/'

if os.path.exists(file_path):
    print("File exists.")
else:
    print("File does not exist.")

if os.path.exists(directory_path):
    print("Directory exists.")
else:
    print("Directory does not exist.")

In this example,os.path.exists(file_path) checks if the file specified byfile_path exists. Similarly,os.path.exists(directory_path) checks if the directory specified bydirectory_path exists. The appropriate message is printed based on the result. Using the pathlib module: Thepathlib module provides an object-oriented approach to working with file and directory paths. You can use thePath class and itsexists() method to check if a file or directory exists.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

from pathlib import Path

file_path = Path('path/to/file.txt')
directory_path = Path('path/to/directory/')

if file_path.exists():
    print("File exists.")
else:
    print("File does not exist.")

if directory_path.exists():
    print("Directory exists.")
else:
    print("Directory does not exist.")

In this example,file_path.exists() checks if thefile_path object represents an existing file. Similarly,directory_path.exists() checks if thedirectory_path object represents an existing directory. The appropriate message is printed based on the result. Both approaches allow you to check the existence of a file or directory in Python. Theos.path module provides a more traditional approach, while thepathlib module offers a more modern and object-oriented way of working with paths. Choose the method that best fits your code style and requirements.