Facebook Twitter Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook Twitter Instagram
    TecAdmin
    You are at:Home»Programming»Python»How to check if a file or directory exists in Python

    How to check if a file or directory exists in Python

    By RahulApril 4, 20172 Mins ReadUpdated:September 21, 2022

    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.

    Advertisement

    This tutorial includes:

    1. Check if file exists in Python
    2. Check if file is readable in Python
    3. 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')

    Python
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    How to Install Python 3.11 on Amazon Linux 2

    Installing Python 3.11 on Debian Linux

    How To Install Python 3.11 on Debian 11/10

    Installing Python 3.11 on Ubuntu, Debian and LinuxMint

    How To Install Python 3.11 on Ubuntu, Debian and LinuxMint

    View 5 Comments

    5 Comments

    1. Frank Koslowski on March 14, 2020 1:19 am

      Very good and straight forward advise on what should be a simple thing.

      Reply
    2. Chris on October 9, 2019 7:25 pm

      Many thanks, Rahul!

      Reply
    3. Kiran on April 29, 2019 3:02 pm

      Thanks, Rahul for precise and good explanation.

      Reply
    4. Raghu on February 22, 2019 8:03 am

      Thanks Rahul..

      Reply
    5. Ansh on May 11, 2017 2:43 pm

      Thanks

      Reply

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • Error: EACCES: permission denied, scandir (Resolved)
    • How To Install Python 3.11 on Ubuntu 22.04 / 20.04
    • How to Install Python 3.11 on Amazon Linux 2
    • An Introduction to the “./configure” Command: Compiling Source Code in Linux
    • How to Install PHP 8.x on Pop!_OS
    Facebook Twitter Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.