Python Check if File Exists: How to Check If a Directory Exists?

Python exists()

Python exists() method is used to check whether specific file or directory exists or not. It is also used to check if a path refers to any open file descriptor or not. It returns boolean value true if file exists and returns false otherwise. It is used with os module and os.path sub module as os.path.exists(path).

In this Python file exists tutorial, we will learn how to determine whether a file (or directory) exists using Python. To check if file exists Python, we use Built-in library Python check if file exists functions.

There are different ways to verify a file or Python check if directory exists, using functions as listed below.

How to Check If a File Exists in Python using os.path.exists()

Using path.exists you can quickly check that a file or directory exists. Here are the steps for Python check file exists or not:

Steps 1) Import the os.path module

Before you run the code, it is important that you import the os.path module.

import os.path
from os import path

Steps 2) Use path.exists() funtion

Now, use the path.exists() function to Python check if a file exists.

path.exists("guru99.txt")

Steps 3) Run the code given below

Here is the complete code

import os.path
from os import path

def main():

   print ("File exists:"+str(path.exists('guru99.txt')))
   print ("File exists:" + str(path.exists('career.guru99.txt')))
   print ("directory exists:" + str(path.exists('myDirectory')))

if __name__== "__main__":
   main()

In our case only file guru99.txt is created in the working directory

Output:

File exists: True
File exists: False
directory exists: False

Python isfile()

The Python isfile() method is used to find whether a given path is an existing regular file or not. It returns a boolean value true if the specific path is an existing file or else it returns false. It can be used by the syntax : os.path.isfile(path).

os.path.isfile()

We can use the isfile command to check whether a given input is a file or not.

import os.path
from os import path

def main():

	print ("Is it File?" + str(path.isfile('guru99.txt')))
	print ("Is it File?" + str(path.isfile('myDirectory')))
if __name__== "__main__":
	main()

Output:

Is it File? True
Is it File? False

os.path.isdir()

If we want to confirm that a given path points to a directory, we can use the os.path.dir() function

import os.path
from os import path

def main():

   print ("Is it Directory?" + str(path.isdir('guru99.txt')))
   print ("Is it Directory?" + str(path.isdir('myDirectory')))

if __name__== "__main__":
   main()

Output:

Is it Directory? False
Is it Directory? True

pathlibPath.exists() For Python 3.4

Python 3.4 and above versions have pathlib Module for handling with file system path. It uses object-oriented approach to Python check if folder exists or not.

import pathlib
file = pathlib.Path("guru99.txt")
if file.exists ():
    print ("File exist")
else:
    print ("File not exist")

Output:

File exist

Complete Code

Here is the complete code

import os
from os import path

def main():
    # Print the name of the OS
    print(os.name)
#Check for item existence and type
print("Item exists:" + str(path.exists("guru99.txt")))
print("Item is a file: " + str(path.isfile("guru99.txt")))
print("Item is a directory: " + str(path.isdir("guru99.txt")))

if __name__ == "__main__":
    main()

Output:

Item exists: True
Item is a file: True
Item is a directory: False

How to check If File Exists

  • os.path.exists() – Returns True if path or directory does exists.
  • os.path.isfile() – Returns True if path is File.
  • os.path.isdir() – Returns True if path is Directory.
  • pathlib.Path.exists() – Returns True if path or directory does exists. (In Python 3.4 and above versions)

Also Check:- Python Tutorial for Beginners: Learn Programming Basics [PDF]