[path-PEP] Path inherits from basestring again
Peter Hansen
peter at engcorp.com
Fri Jul 29 07:54:18 EDT 2005
Tony Meyer wrote:
> Would you really choose this:
> p = Path() / "build" / "a" / "very" / "very" / "long" / "path"
>
> Over this:
> p = Path(os.path.join("build", "a", "very", "very", "long", "path"))
I'd choose neither, because both are contrived examples (who builds
paths out of six literals like that?) and the second one is not
something anyone would want, since it mixes Paths and old-style
os.path.join() calls.
We're talking at this point about how Path should work, not whether it's
preferable to os.path.join, even though that was really the point of
Reinhard's original post. Given that, then, of the following two I
would prefer the first one, slightly:
p = somePath / user.getFolder() / 'archive' / oldPath + '.bak'
p = somePath.joinpath(user.getFolder(), 'archive', oldPath + '.bak')
> ? A saving of six characters, and the second one is a lot clearer.
It's not a question of saving characters, but readability which, as
you've said, is a matter of opinion.
I find the former more readable. Somewhat. Not enough to make a big
deal about it.
I can live with the latter, but as *someone who has used the path module
already* I can only say that you might want to try it for a few months
before condemning the approach using / as being unacceptable.
-Peter
More information about the Python-list
mailing list