os.path and Path

Chris Torek nospam at torek.net
Thu Jun 16 20:48:37 EDT 2011


>Steven D'Aprano wrote:
>> Why do you think there's no Path object in the standard library? *wink*

In article <mailman.16.1308239495.1164.python-list at python.org>
Ethan Furman  <ethan at stoneleaf.us> wrote:
>Because I can't find one in either 2.7 nor 3.2, and every reference I've 
>found has indicated that the other Path contenders were too 
>all-encompassing.

What I think Steven D'Aprano is suggesting here is that the general
problem is too hard, and specific solutions too incomplete, to
bother with.

Your own specific solution might work fine for your case(s), but it
is unlikely to work in general.

I am not aware of any Python implementations for VMS, CMS, VM,
EXEC-8, or other dinosaurs, but it would be ... interesting.
Consider a typical VMS "full pathname":

    DRA0:[SYS0.SYSCOMMON]FILE.TXT;3

The first part is the (literal) disk drive (a la MS-DOS A: or C:
but slightly more general).  The part in [square brackets] is the
directory path.  The extension (.txt) is limited to three characters,
and the part after the semicolon is the file version number, so
you can refer to a backup version.  (Typically one would use a
"logical name" like SYS$SYSROOT in place of the disk and/or
directory-sequence, so as to paper over the overly-rigid syntax.)

Compare with an EXEC-8 (now, apparently, OS 2200 -- I guess it IS
still out there somewhere) "file" name:

    QUAL*FILE(cyclenumber)

where cycle-numbers are relative, i.e., +0 means "use the current
file" while "+1" means "create a new one" and "-1" means "use the
first backup".  (However, one normally tied external file names to
"internal names" before running a program, via the "@USE" statement.)
The vile details are still available here:

   http://www.bitsavers.org/pdf/univac/1100/UE-637_1108execUG_1970.pdf

(Those of you who have never had to deal with these machines, as I
did in the early 1980s, should consider yourselves lucky. :-) )
-- 
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W)  +1 801 277 2603
email: gmail (figure it out)      http://web.torek.net/torek/index.html



More information about the Python-list mailing list