On 24.05.2020 13:27, Ram Rachum wrote:
Hi everyone,
I submitted a PR today, and Serhiy decided it needs a discussion on python-ideas and agreement from core developers before it could go forward.
BPO: https://bugs.python.org/issue40752 PR: https://github.com/python/cpython/pull/20348
Today I wrote a script and did this:
sorted(paths, key=lambda path: len(str(path)), reverse=True)
But it would have been nicer if I could do this:
sorted(paths, key=len, reverse=True)
So I implemented `PurePath.__len__` as `str(len(path))`.
Serhiy and Remi objected, because it might not be obvious that the length of the path would be the length of string.
What do you think? Can I get some +1s and -1s for this change?
It would be surprising to have an object which implements .__len__(), but otherwise doesn't allow any indexing, so -1 on such a change. If Paths ever get indexing, it would also be more natural to have those indexes refer to path components. The .__len__() would have to map to the number of path components, not the length of a string representation. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, May 24 2020)
Python Projects, Coaching and Support ... https://www.egenix.com/ Python Product Development ... https://consulting.egenix.com/
::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 https://www.egenix.com/company/contact/ https://www.malemburg.com/