I've just noticed a strange behavior when dealing with gvfs filesystems: giampaolo at ubuntu:~$ python -c "import os; print(os.path.exists('/home/giampaolo/.gvfs'))" True giampaolo at ubuntu:~$ sudo su root at ubuntu:~# python -c "import os; print(os.path.exists('/home/giampaolo/.gvfs'))" False This is due to os.stat() which internally fails with PermissionError (EACCES). The same problem exists with os.path.isdir() which will return True as limited user and False as root. I'm not sure what's best to do here nor I know if there are other cases other than when dealing with gvfs which can produce similar behaviors but here's an idea: - make os.path.exists() return True in case of PermissionError because that's supposed to mean there's an existing path to deny access to - fix isdir(), islink(), isfile() documentation pointing out that in case of EACCES/EPERM or when dealing with exotic paths/fs it may return incorrect results. Comments? --- Giampaolo http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ http://code.google.com/p/pysendfile/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4