Pre-PEP: new Path class
Michael T. Babcock
mike at triplepc.com
Mon Jan 5 15:16:16 EST 2004
>
>
>I see what you're saying. I'd argue (softly) that iterating over
>> the directory entries is the natural interpretation, though.
>
>
>
>It's far too implicit to my taste; for one since it's a folder-only
>operation (and I don't see much merit in having separate classes for
>folder and file paths). Would you also be in favor of interating over
>
>
>file-paths meaning iterating over the lines in the file?
>
I was thinking about how I'd expect to use such a class and think
perhaps neither iterator type should exist. If an iterator exists for a
path, it should probably be for the elements of the path, not what the
path points to. These are different objects, in my mind.
> Path path
> path.parse("/usr/share/doc")
> for item in path:
> print str(item)
usr
share
doc
> print str(path[0]) # get top-level path element
/usr
> print str(path[:-1]) # get parent to path
/usr/share
> for item in os.pathwalk(path):
> # Do stuff
> pass
> f = file(path + "mydoc.txt", "r')
> f.close()
... any thoughts? I see a Path object as being very useful, in that it
can hide the concepts of parsing and using paths from the user, but it
shouldn't "understand" what its pointing to, whether a pipe or a file or
a directory or a special device. Those are features for their own
specific objects which can use the data stored in a Path object.
--
Michael T. Babcock
http://www.fibrespeed.net/~mbabcock/
More information about the Python-list
mailing list