Movatterモバイル変換


[0]ホーム

URL:


homepage

Issue30427

This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title:isinstance checks in os.path.normcase redundant with os.fspath
Type:performanceStage:resolved
Components:Library (Lib)Versions:Python 3.7, Python 3.6
process
Status:closedResolution:fixed
Dependencies:Superseder:
Assigned To:Nosy List: BTaskaya, brett.cannon, miss-islington, serhiy.storchaka, wolma
Priority:normalKeywords:

Created on2017-05-22 08:17 bywolma, last changed2022-04-11 14:58 byadmin. This issue is nowclosed.

Pull Requests
URLStatusLinkedEdit
PR 1712mergedwolma,2017-05-22 08:27
Messages (7)
msg294130 -(view)Author: Wolfgang Maier (wolma)*Date: 2017-05-22 08:17
os.path.normcase as defined in both posixpath and ntpath is now calling os.fspath on its argument first. With that I think the following isinstance(str, bytes) checks have become redundant since AFAIU os.fspath is guaranteed to return either str or bytes instances.
msg294131 -(view)Author: Wolfgang Maier (wolma)*Date: 2017-05-22 08:31
Just created a PR for this, which eliminates the redundancy. This also changes the error message (making it less specific), but not the type of a raised exception.If you think that the error message deserves to be preserved that could, of course, be done too.
msg294137 -(view)Author: Serhiy Storchaka (serhiy.storchaka)*(Python committer)Date: 2017-05-22 09:54
Does calling os.fspath() needed in normcase() at all? Is normcase() even called with arguments which are not just str/bytes?
msg294206 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2017-05-23 00:13
The problem with leaving os.fspath() out of os.path.normcase() is that suddenly a single function that deals with paths won't work with path-like objects. So that means support for path-like objects won't implicitly work in code that assumes a path but doesn't explicitly go out of its way to support path-like objects.
msg339077 -(view)Author: miss-islington (miss-islington)Date: 2019-03-28 21:47
New changeset74510e2a57f6d4b51ac1ab4f778cd7a4c54b541e by Miss Islington (bot) (Wolfgang Maier) in branch 'master':bpo-30427: eliminate redundant type checks in os.path.normcase() (GH-1712)https://github.com/python/cpython/commit/74510e2a57f6d4b51ac1ab4f778cd7a4c54b541e
msg358868 -(view)Author: Batuhan Taskaya (BTaskaya)*(Python committer)Date: 2019-12-25 15:40
Looks like there is nothing left afterPR 1712 if I am not missing something, can this issue be closed?
msg359223 -(view)Author: Brett Cannon (brett.cannon)*(Python committer)Date: 2020-01-02 22:13
Yep, it looks like this is fixed, Batuhan. Thanks for letting us know!
History
DateUserActionArgs
2022-04-11 14:58:46adminsetgithub: 74612
2020-01-02 22:13:44brett.cannonsetstatus: open -> closed
resolution: fixed
messages: +msg359223

stage: patch review -> resolved
2019-12-25 15:40:39BTaskayasetnosy: +BTaskaya
messages: +msg358868
2019-03-28 21:47:27miss-islingtonsetnosy: +miss-islington
messages: +msg339077
2017-05-23 00:13:03brett.cannonsetmessages: +msg294206
2017-05-22 09:54:46serhiy.storchakasetnosy: +brett.cannon,serhiy.storchaka

messages: +msg294137
stage: patch review
2017-05-22 08:31:23wolmasettype: performance
messages: +msg294131
2017-05-22 08:27:59wolmasetpull_requests: +pull_request1803
2017-05-22 08:17:57wolmacreate
Supported byThe Python Software Foundation,
Powered byRoundup
Copyright © 1990-2022,Python Software Foundation
Legal Statements

[8]ページ先頭

©2009-2026 Movatter.jp