[Python-Dev] Python 1.6 timing
Guido van Rossum
guido@CNRI.Reston.VA.US
Wed, 02 Feb 2000 14:07:07 -0500
> Guido van Rossum writes:
> > Oops, sorry. The first one is proposing a validate() function for
> > pathnames. In the second one, the patch code speaks for itself -- it
>
> I did have a thought on this, but hadn't gotten back to it.
> Essentially, I'm not sure how to implement this correctly; things like
> MAXPATHLEN aren't always easy to root out the "right" way to get the
> *real* definition from C. pathconf(_PC_PATH_MAX) could be used to get
> that, and pathconf(_PC_NAME_MAX) can get the maximum length of an
> individual name within the path, but I don't know if the concepts are
> even meaningful on all systems. I wouldn't be surprised if validity
> on some systems is highly specific to the actual filesystem that's
> being referred to, and that requires the name be valid on the local
> system.
I personally think there is very little merit in a validate() function
-- it's not going to be a very useful predictor of whether an open may
succeed or not.
> I've noticed that the functions in the os.path implementations fall
> into two categories: "abstract" functions like join(), split(), and
> the like, which are bound to the "path algebra" syntax rules, and the
> "local-access" functions like isfile() and abspath(), which require
> the paths relate to the local system. This isn't a problem, but
> something we should probably keep in mind.
>
> > makes an exception class conform to the rule that exceptions must
> > inherit from Exception.
>
> I don't think this is valuable for 1.6, but might be interesting for
> 1.7; the documentation can include a notice that this relationship
> will be required in the future. That would allow people to define
> exceptions with the required inheritance before the last minute.
> On the other hand, I'm not sure it really matters that exceptions
> inherit from a specific base class. *That* seems unnecessary.
This is valuable mostly as an example; plus in that specific case I
think he noticed that the module defines an exception class from
scratch with functionality that is already present in the standard
Exception class.
--Guido van Rossum (home page: http://www.python.org/~guido/)