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.
Created on 2012年07月21日 20:41 by r.david.murray, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| joindoc.patch | dsawyer, 2014年04月17日 22:31 | |||
| issue15414.diff | zach.ware, 2014年10月10日 20:12 | review | ||
| Messages (7) | |||
|---|---|---|---|
| msg166065 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2012年07月21日 20:41 | |
In looking at another os.path.join documentation issue I tried the Windows join to see if it matched the docs, and found that it was very unclear. I searched the tracker and found Issue 1669539, which contains much relevant discussion but also much discussion of possible enhancements. So I'm opening a new issue *just* about what I see as the current bugs in the os.path.join docs and ntpath.join implementation. I'm not qualified to fix this, not being a Windows user, but it is clear to me that the documentation of os.path.join for Windows is unclear (it does not indicate what is considered an absolute path on Windows) and wrong (\foo will *not* restart the path if it is the second element and follows a drive specification, but it does any other time), and that the current behavior may have a bug if, as seems to be implied by the issue 1669539 discussion, something that looks like a drive specification in the middle of a path is invalid on Windows. If this last is not a bug, it should be mentioned in the documentation, since the actual behavior is counter-intuitive. |
|||
| msg216755 - (view) | Author: Dave Sawyer (dsawyer) * | Date: 2014年04月17日 21:47 | |
http://bugs.python.org/issue1669539 has been partially fixed. On Windows os.path.join('foo', 'a:bar') gives 'a:bar' not 'foo\\a:bar'. However os.path.isabs('a:bar') returns False yet it causes a reset in the join like an absolute path. '\foo' is considered an absolute path even though calling os.path.abspath on it can yield different results - as if it were a relative path. At minimum we should amend the wording about what resets the join. |
|||
| msg222854 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2014年07月12日 16:51 | |
ntpath.join() was fixed in issue19456 so I think all we need here is a commit review of the attached documentation patch. |
|||
| msg229032 - (view) | Author: Zachary Ware (zach.ware) * (Python committer) | Date: 2014年10月10日 20:12 | |
Dave, your patch is a significant improvement on the accuracy of the current doc, but the whole paragraph seems somewhat haphazard and confusing to me. Here's my own attempt to clean it up, though I'm not certain just how much improvement it is :) |
|||
| msg229034 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2014年10月10日 20:24 | |
I'd say it was definitely an improvement in terms of comprehensibility. |
|||
| msg229039 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2014年10月10日 21:06 | |
New changeset 05274a517b37 by Zachary Ware in branch '2.7': Issue #15414: Clean and correct the os.path.join docs. https://hg.python.org/cpython/rev/05274a517b37 New changeset c9c6082d4f9b by Zachary Ware in branch '3.4': Issue #15414: Clean and correct the os.path.join docs. https://hg.python.org/cpython/rev/c9c6082d4f9b New changeset e57f93c681a6 by Zachary Ware in branch 'default': Closes #15414: Merge with 3.4 https://hg.python.org/cpython/rev/e57f93c681a6 |
|||
| msg229040 - (view) | Author: Zachary Ware (zach.ware) * (Python committer) | Date: 2014年10月10日 21:10 | |
Committed, with better line wrapping. Thank you Dave Sawyer for the initial patch, and RDM for the review. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:33 | admin | set | github: 59619 |
| 2014年10月10日 21:10:00 | zach.ware | set | messages: + msg229040 |
| 2014年10月10日 21:06:24 | python-dev | set | status: open -> closed nosy: + python-dev messages: + msg229039 resolution: fixed stage: patch review -> resolved |
| 2014年10月10日 20:24:53 | r.david.murray | set | messages: + msg229034 |
| 2014年10月10日 20:13:13 | zach.ware | set | title: os.path.join behavior on Windows (ntpath.join) is unexpected and not well documented -> os.path.join behavior on Windows (ntpath.join) is not well documented |
| 2014年10月10日 20:12:06 | zach.ware | set | files:
+ issue15414.diff nosy: + zach.ware messages: + msg229032 |
| 2014年09月27日 14:32:21 | serhiy.storchaka | set | keywords:
+ needs review stage: patch review versions: + Python 2.7 |
| 2014年07月12日 16:56:51 | brian.curtin | set | nosy:
- brian.curtin |
| 2014年07月12日 16:51:50 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages: + msg222854 |
| 2014年04月17日 22:46:06 | dsawyer | set | versions: + Python 3.4, Python 3.5, - Python 2.7, Python 3.2, Python 3.3 |
| 2014年04月17日 22:31:40 | dsawyer | set | files:
+ joindoc.patch keywords: + patch |
| 2014年04月17日 21:47:16 | dsawyer | set | nosy:
+ dsawyer messages: + msg216755 |
| 2014年04月16日 15:20:40 | mdengler | set | nosy:
+ mdengler |
| 2012年07月21日 20:45:50 | r.david.murray | link | issue1669539 dependencies |
| 2012年07月21日 20:41:07 | r.david.murray | create | |