How to test a file or directory exists in Python?

In Bash, the [ -f ] and [ -d ] tests can test whether a file or a directory exist. What are the corresponding python method for these tests?

For -f:

**os.path.isfile(path)**

Return True if path is an existing regular file. This follows symbolic links.

For -d:

**os.path.isdir(path)**

Return True if path is an existing directory. This follows symbolic links.

As they follow symbolic links (in Bash, -d and -f do too), if you are interested filter symbolic links out, you can use

**os.path.islink(path)**

Return True if path refers to a directory entry that is a symbolic link. Always False if symbolic links are not supported by the python runtime.

Similar Posts

  • How to install encfs on CentOS 6?

    I noticed your answer on configuring encfs on CentOS 6. I had difficulties installing encfs on CentOS 6. How did you install it? Thanks. For CentOS 6, I used a slightly old version (version 1.7.4) using an RPM built for by PUIAS: For x86-64 version: # yum install http://puias.princeton.edu/data/puias/6/x86_64/os/Addons/fuse-encfs-1.7.4-1.puias6.x86_64.rpm For i686 version: # yum install…

  • rtnetlink answers file exists

    When you replace dynamic IP to static IP, you may need to restart your netwrok on Debian as follows. $sudo /etc/init.d/networking restart … …. reconfiguring network interfaces…rtnetlink answers file exists … However, error happens here “rtnetlink answers file exists”. How to solve it??? Run following commands could solve this problem # ip addr flush dev…

  • ASCII Table and ASCII Code

    This post gives the ASCII table and ASCII code with ASCII control characters and ASCII printable characters and a tool to convert ASCII codes to ASCII characters. Introduction to ASCII table and ASCII code ASCII stands for American Standard Code for Information Interchange. An ASCII code is the numerical representation of a character since computers…

  • how to remove specific directories recursively

    How to remove .svn directories under hlfs dir recursively as follows. weiwei@weiwei-HP-Compaq-dx6128-MT-PX478AV:~/workshop1/hlfs > find ./ -name “.svn” ./test/build/.svn ./test/.svn ./output/conf/.svn ./output/lib32/.svn ./patches/.svn ./src/include/.svn ./src/include/api/.svn ./src/snapshot/.svn ./src/snapshot/unittest/build/.svn ./src/snapshot/unittest/.svn ./src/utils/.svn ./src/clean/Mapreducer/build/.svn ./src/clean/Mapreducer/.svn ./src/clean/.svn ./src/clean/unittest/.svn ./src/icache/.svn ./src/icache/unittest/.svn ./src/backend/.svn ./src/storage/.svn ./src/cache/.svn ./src/cache/unittest/.svn ./src/clone/.svn ./src/tools/.svn ./src/tools/unittest/.svn ./src/logger/.svn weiwei@weiwei-HP-Compaq-dx6128-MT-PX478AV:~/workshop1/hlfs > find ./ -name “.svn” | xargs rm -rf Read more: Generating…

  • How to boot Linux Mint to the console by default?

    How to boot Linux Mint to the console by default? (that is, the run level 3). 2 methods introduced here to boot Linux Mint to console/command line. Method 1 (may only work for earlier releases; check method 2 below): set kernel option. Edit /etc/default/grub and add text to GRUB_CMDLINE_LINUX_DEFAULT: GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text” Then, re-generate grub…

Leave a Reply

Your email address will not be published. Required fields are marked *