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")
False
That'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")
True
In this case, files can still be accessed if you know the filename.
CPython versions tested on:
3.12
Operating systems tested on:
macOS
Bug report
Bug description:
I have a directory with "rw-" permisions with a file
inaccessible.txt:That's inconsistent behaviour:
os.listdirsaysdirectory/inaccessible.txtexists, whileos.path.existssays it does not.This can be solved simply be raising a
PermissionError(or a subclass) foros.listdirwhen 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:In this case, files can still be accessed if you know the filename.
CPython versions tested on:
3.12
Operating systems tested on:
macOS