Support $HOME in expanduser().

(Who'd thought that *anyone* would be interested in writing ~/foo on NT :-)
This commit is contained in:
Guido van Rossum 1997-06-02 23:11:57 +00:00
parent dafce6db7b
commit 77e1db3b34
1 changed files with 12 additions and 6 deletions

View File

@ -23,6 +23,7 @@ def normcase(s):
res = res + c
return string.lower(res)
# Return wheter a path is absolute.
# Trivial in Posix, harder on the Mac or MS-DOS.
# For DOS it is absolute if it starts with a slash or backslash (current
@ -34,6 +35,8 @@ def isabs(s):
return s != '' and s[:1] in '/\\'
# Join two (or more) paths.
def join(a, *p):
path = a
for b in p:
@ -244,13 +247,16 @@ def expanduser(path):
while i < n and path[i] not in '/\\':
i = i+1
if i == 1:
try:
drive=os.environ['HOMEDRIVE']
except KeyError:
drive = ''
if not os.environ.has_key('HOMEPATH'):
if os.environ.has_key('HOME'):
userhome = os.environ['HOME']
elif not os.environ.has_key('HOMEPATH'):
return path
userhome = join(drive, os.environ['HOMEPATH'])
else:
try:
drive=os.environ['HOMEDRIVE']
except KeyError:
drive = ''
userhome = join(drive, os.environ['HOMEPATH'])
else:
return path
return userhome + path[i:]