From: Guido van Rossum Date: Mon, 2 Jun 1997 23:11:57 +0000 (+0000) Subject: Support $HOME in expanduser(). X-Git-Tag: v1.5a3~375 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77e1db3b346411c334a36ccd0d2206ff5c71cc90;p=python Support $HOME in expanduser(). (Who'd thought that *anyone* would be interested in writing ~/foo on NT :-) --- diff --git a/Lib/ntpath.py b/Lib/ntpath.py index a5bdc050ad..ea855d5019 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -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:]