PY0017 Python Check If File or Directory Exists
Posted by Superadmin on November 10 2018 13:55:04

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

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

os.path.exists()

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

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

import os.path
from os import path

Steps 2) Now, use the path.exists() function to check whether a File Exists.

path.exists("guru99.txt")

Steps 3) Here is the complete code

import os.path
from os import path

def main():

   print ("file exist:"+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

os.path.isfile()

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

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 used object-oriented approach to check if file exist 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

Summary: