This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: os.path.is*() may return False if path can't be accessed
Type: Stage: resolved
Components: Documentation Versions: Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Mariatta, cameron, cheryl.sabella, christian.heimes, docs@python, eric.araujo, ezio.melotti, georg.brandl, giampaolo.rodola, ncoghlan, pitrou
Priority: normal Keywords: patch

Created on 2012-06-29 00:19 by giampaolo.rodola, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 5185 merged cheryl.sabella, 2018-01-14 23:07
PR 5186 merged python-dev, 2018-01-15 04:58
Messages (7)
msg164307 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2012-06-29 00:19
It seems a doc fix is the best way to go, in which case I leave this one to a native English speaker:
http://mail.python.org/pipermail/python-dev/2012-June/120788.html

Alternatively a new 'strict' parameter has been proposed as a workaround:
http://mail.python.org/pipermail/python-dev/2012-June/120800.html
msg164309 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2012-06-29 00:50
-1 on a "strict" parameter. This is a pointless obfuscation of the API.
msg164312 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2012-06-29 03:54
The os.path.exists() docs already cover all the gory details of when it may be false due to limited permissions. The is* docs refer to this by their use of the word "existing", but that's probably too subtle.

I suggest adding an extra sentence to the docs of all affected functions:

"This always returns False if os.path.exists(path) returns False."
msg309939 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python committer) Date: 2018-01-14 23:11
I created a PR for this by making the word 'existing' a link to 'os.path.exists' since Nick mentioned that that word already implied the definition.
msg309946 - (view) Author: Mariatta (Mariatta) * (Python committer) Date: 2018-01-15 04:57
New changeset b3dd18d4035803b50c65a434955966d1b3b1f363 by Mariatta (Cheryl Sabella) in branch 'master':
bpo-15221: Update os.path.is*() documentation (GH-5185)
https://github.com/python/cpython/commit/b3dd18d4035803b50c65a434955966d1b3b1f363
msg309950 - (view) Author: Mariatta (Mariatta) * (Python committer) Date: 2018-01-15 05:44
New changeset bb80645d06c16461b0b58d8983cd7fa6962ba3c6 by Mariatta (Miss Islington (bot)) in branch '3.6':
bpo-15221: Update os.path.is*() documentation (GH-5185) (GH-5186)
https://github.com/python/cpython/commit/bb80645d06c16461b0b58d8983cd7fa6962ba3c6
msg309951 - (view) Author: Mariatta (Mariatta) * (Python committer) Date: 2018-01-15 05:46
Thanks!
History
Date User Action Args
2022-04-11 14:57:32adminsetgithub: 59426
2018-01-15 05:46:30Mariattasetstatus: open -> closed
resolution: fixed
messages: + msg309951

stage: patch review -> resolved
2018-01-15 05:44:51Mariattasetmessages: + msg309950
2018-01-15 04:58:07python-devsetpull_requests: + pull_request5040
2018-01-15 04:57:53Mariattasetnosy: + Mariatta
messages: + msg309946
2018-01-14 23:11:24cheryl.sabellasetnosy: + cheryl.sabella

messages: + msg309939
versions: + Python 3.7, - Python 2.7, Python 3.2, Python 3.3
2018-01-14 23:07:47cheryl.sabellasetkeywords: + patch
stage: patch review
pull_requests: + pull_request5039
2012-06-29 03:54:52ncoghlansetmessages: + msg164312
2012-06-29 00:50:25pitrousetnosy: + pitrou
messages: + msg164309
2012-06-29 00:43:24cameronsetnosy: + cameron
2012-06-29 00:19:48giampaolo.rodolacreate