Message147391
2011/11/9 Nick Coghlan <report@bugs.python.org>:
>
> Nick Coghlan <ncoghlan@gmail.com> added the comment:
>
> Why provide any namedtuple interface in any context? After all, you can just unpack them to individual variables.
>
> The point is that the values produced by os.walk() *aren't* just an arbitrary 3-tuple - they have a definite API for describing a directory: the base path, then lists of relative names for any subdirectories and the relative names for any files. Why not make that explicit in the objects produced instead of leaving it as merely implied?
You could make this argument for any function that returns a tuple to
return multiple distinct values. I claim that the API in this case is
already simple enough that adding a nametuple does nothing but feature
bloat. What does having a "dirinfo" object with attributes tell you
that simply unpacking the tuple doesn't? You have to remember names in
both cases.
>
> This idea actually came out of the proposal for providing an itertools-inspired toolset for manipulating the output of os.walk() style iteration (#13229 and https://bitbucket.org/ncoghlan/walkdir/overview).
>
> I'll be adding this feature to walkdir regardless, but it seems to make more sense to offer it as standard behaviour.
Indeed, I think using a namedtuple seems more appropriate for your
"fancier" api. |
|
Date |
User |
Action |
Args |
2011-11-10 02:52:34 | benjamin.peterson | set | recipients:
+ benjamin.peterson, rhettinger, amaury.forgeotdarc, ncoghlan, pitrou, krisys |
2011-11-10 02:52:34 | benjamin.peterson | link | issue13375 messages |
2011-11-10 02:52:34 | benjamin.peterson | create | |
|