The Python os.path
module is used for the file or directory pathename’s manipulations. The method isfile()
of this module is used to check if any file is available or not. Similarly exists()
function returns true for files and directory exists.
This tutorial includes:
- Check if file exists in Python
- Check if file is readable in Python
- Create directory if not exists in Python
1. Check if file exists
For example, To test how isfile()
and exists()
functions work. Create a TestFile.py file using following content and execute it python.
- isfile() – function check if given input file exists and is a file not directory.
- exists() – function check if given input file/directory exists.
See the below examples:
1 2 3 4 5 6 7 8 | import os.path print os.path.isfile("/etc/hosts") #True print os.path.isfile("/etc") #False print os.path.isfile("/does/not/exist") #False print os.path.exists("/etc/hosts") #True print os.path.exists("/etc") #True print os.path.exists("/does/not/exist") #False |
Python >= 3.4 users can use object oriented approach to check if file exist or not. we need to import Path from the pathlib module.
1 2 3 4 5 6 7 8 | from pathlib import Path fileName = Path("/etc/hosts") if fileName.is_file(): print ("File exist") else: print ("File not exist") |
2. Check if file is readable
You can also check if the file exists and is readable for the current users in Python.
1 2 3 4 5 6 | import os.path if os.path.isfile('/etc/hosts') and os.access('/etc/hosts', os.R_OK): print "File exists and is readable" else: print "Either file is missing or is not readable" |
#3. Python – Check if Link File
Use os.path.islink
to find if any file is a link file.
1 2 3 4 5 6 | import os.path if os.path.isfile("/etc/hosts") and os.path.islink("/etc/hosts"): print "This is a link file" else: print "This is an actual file" |
3. Create a directory if not exists
Use os.path.exists
to check if any directory exists or not and use os.makedirs
to create a directory. Below example will create a directory /tmp/newdir
if not exists.
1 2 | if not os.path.exists('/tmp/newdir'): os.makedirs('/tmp/newdir') |
5 Comments
Very good and straight forward advise on what should be a simple thing.
Many thanks, Rahul!
Thanks, Rahul for precise and good explanation.
Thanks Rahul..
Thanks