-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed as not planned
Labels
Description
Bug report
Bug description:
I have a directory with "rw-" permisions with a file inaccessible.txt:
>>> import os
>>> os.listdir("directory")
['inaccessible.txt']
>>> os.path.exists("directory/inaccessible.txt")
FalseThat's inconsistent behaviour: os.listdir says directory/inaccessible.txt exists, while os.path.exists says it does not.
This can be solved simply be raising a PermissionError (or a subclass) for os.listdir when the directory is not executable.
I can't think of any situation outside of a CTF where it would be useful to be able to list the files in such directories.
Note that this is different from a directory with "-wx" permisions with a file secret.txt:
>>> import os
>>> os.listdir("directory")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: 'directory'
>>> os.path.exists("directory/secret.txt")
TrueIn this case, files can still be accessed if you know the filename.
CPython versions tested on:
3.12
Operating systems tested on:
macOS