Hmmm..if ```/path/non-exist``` is a dir not a file, os.remove() will raise 
```OSError: [Errno 21] Is a directory: '/path/non-exist'```
what about ```if os.path.exists(dest_path) and not os.path.isdir(dest_path):```
Or
```
import shutil
if os.path.exists(dest_path):
    if os.path.isdir(dest_path):
        shutil.rmtree(dest_path)
    else:
        os.remove(dest_path)
```
Hmm, shutil.rmtree() is a little dangerous, you can ignore it