Check If A File Exists In Python
This is the way I check to see if a file exists at a given path in python:
=
File does not exist
Alternatives
NOTE: These are still works in progress
Other related ways to do stuff
=
File exists
#+OLDNOTES
TL:DR;
from pathlib import Path
my_file = Path("/path/to/file") if my_file.is_file(): # file exists
# oneliner:
if Path("/path/to/file").is_file() print('file exists.)
For dir:
.is_dir()
Exists in general:
.exists()
Via: https://stackoverflow.com/questions/82831/how-do-i-check-whether-a-file-exists-without-exceptions
If the reason you're checking is so you can do something like if file_exists: open_it()
, it's safer to use a `try
around the attempt to open it. Checking and then opening risks the file being deleted or moved or something between when you check and when you try to open it.
If you're not planning to open the file immediately, you can use [os.path.isfile
][1]
> Return True
if path is an existing regular file. This follows symbolic links, so both [islink()][2] and [isfile()][1] can be true for the same path.
import os.path os.path.isfile(fname)
if you need to be sure it's a file.
Starting with Python 3.4, the [pathlib
module][3] offers an object-oriented approach (backported to pathlib2
in Python 2.7):
from pathlib import Path
my_file = Path("/path/to/file") if my_file.is_file(): # file exists
To check a directory, do:
if my_file.is_dir(): # directory exists
To check whether a Path
object exists independently of whether is it a file or directory, use exists()
:
if my_file.exists(): # path exists
You can also use resolve(strict=True)
in a try
block:
try: my_abs_path = my_file.resolve(strict=True) except FileNotFoundError: # doesn't exist else: # exists
[1]:https://docs.python.org/2/library/os.path.html#os.path.isfile [2]:https://docs.python.org/2/library/os.path.html#os.path.islink [3]:https://docs.python.org/3/library/pathlib.html#pathlib.Path.is_file