Most pythonic way to delete a file which may not exist
python
Solution
A more pythonic way would be:
try:
os.remove(filename)
except OSError:
pass
Although this takes even more lines and looks very ugly, it avoids the unnecessary call to `os.path.exists()` and follows the python convention of overusing exceptions.
It may be worthwhile to write a function to do this for you:
import os, errno
def silentremove(filename):
try:
os.remove(filename)
except OSError as e: # this would be "except OSError, e:" before Python 2.6
if e.errno != errno.ENOENT: # errno.ENOENT = no such file or directory
raise # re-raise exception if a different error occurred
Problem
I want to delete the file `filename` if it exists. Is it proper to say ``` if os.path.exists(filename): os.remove(filename) ``` Is there a better way? A one-line way?