diff options
author | Fred Drake <fdrake@acm.org> | 2000-09-28 16:25:20 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2000-09-28 16:25:20 (GMT) |
commit | b4e460ac4b5a5b7e72b0eb6e8d21af179464c3d7 (patch) | |
tree | c582fec9b733998162730cf8a9ad21e9703359e3 /Lib/ntpath.py | |
parent | c0ab93ef6fc686829b9c123ceb353f78ee5016bb (diff) | |
download | cpython-b4e460ac4b5a5b7e72b0eb6e8d21af179464c3d7.zip cpython-b4e460ac4b5a5b7e72b0eb6e8d21af179464c3d7.tar.gz cpython-b4e460ac4b5a5b7e72b0eb6e8d21af179464c3d7.tar.bz2 |
Avoid import of string module; it is only needed for expandvars().
Never assume that os.sep is for the module-specific platform; use the
right separator character directly.
Fix some minor style consistency nits.
Diffstat (limited to 'Lib/ntpath.py')
-rw-r--r-- | Lib/ntpath.py | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/Lib/ntpath.py b/Lib/ntpath.py index c68232b..efcba6d 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -7,7 +7,6 @@ module as os.path. import os import stat -import string # Normalize the case of a pathname and map slashes to backslashes. @@ -18,7 +17,7 @@ def normcase(s): """Normalize case of pathname. Makes all characters lowercase and all slashes into backslashes.""" - return string.lower(string.replace(s, "/", "\\")) + return s.replace("/", "\\").lower() # Return whether a path is absolute. @@ -44,7 +43,7 @@ def join(a, *p): elif path == '' or path[-1:] in '/\\:': path = path + b else: - path = path + os.sep + b + path = path + "\\" + b return path @@ -77,11 +76,11 @@ def splitunc(p): # \\machine\mountpoint\directories... # directory ^^^^^^^^^^^^^^^ normp = normcase(p) - index = string.find(normp, '\\', 2) + index = normp.find('\\', 2) if index == -1: ##raise RuntimeError, 'illegal UNC path: "' + p + '"' return ("", p) - index = string.find(normp, '\\', index + 1) + index = normp.find('\\', index + 1) if index == -1: index = len(p) return p[:index], p[index:] @@ -241,7 +240,7 @@ def ismount(path): if unc: return rest in ("", "/", "\\") p = splitdrive(path)[1] - return len(p)==1 and p[0] in '/\\' + return len(p) == 1 and p[0] in '/\\' # Directory tree walk. @@ -288,7 +287,7 @@ def expanduser(path): return path i, n = 1, len(path) while i < n and path[i] not in '/\\': - i = i+1 + i = i + 1 if i == 1: if os.environ.has_key('HOME'): userhome = os.environ['HOME'] @@ -296,7 +295,7 @@ def expanduser(path): return path else: try: - drive=os.environ['HOMEDRIVE'] + drive = os.environ['HOMEDRIVE'] except KeyError: drive = '' userhome = join(drive, os.environ['HOMEPATH']) @@ -314,14 +313,14 @@ def expanduser(path): # XXX With COMMAND.COM you can use any characters in a variable name, # XXX except '^|<>='. -varchars = string.letters + string.digits + '_-' - def expandvars(path): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" if '$' not in path: return path + import string + varchars = string.letters + string.digits + '_-' res = '' index = 0 pathlen = len(path) @@ -331,11 +330,11 @@ def expandvars(path): path = path[index + 1:] pathlen = len(path) try: - index = string.index(path, '\'') + index = path.index('\'') res = res + '\'' + path[:index + 1] - except string.index_error: + except ValueError: res = res + path - index = pathlen -1 + index = pathlen - 1 elif c == '$': # variable or '$$' if path[index + 1:index + 2] == '$': res = res + c @@ -344,11 +343,11 @@ def expandvars(path): path = path[index+2:] pathlen = len(path) try: - index = string.index(path, '}') + index = path.index('}') var = path[:index] if os.environ.has_key(var): res = res + os.environ[var] - except string.index_error: + except ValueError: res = res + path index = pathlen - 1 else: @@ -375,27 +374,27 @@ def expandvars(path): def normpath(path): """Normalize path, eliminating double slashes, etc.""" - path = string.replace(path, "/", "\\") + path = path.replace("/", "\\") prefix, path = splitdrive(path) - while path[:1] == os.sep: - prefix = prefix + os.sep + while path[:1] == "\\": + prefix = prefix + "\\" path = path[1:] - comps = string.splitfields(path, os.sep) + comps = path.split("\\") i = 0 while i < len(comps): if comps[i] == '.': del comps[i] elif comps[i] == '..' and i > 0 and comps[i-1] not in ('', '..'): del comps[i-1:i+1] - i = i-1 + i = i - 1 elif comps[i] == '' and i > 0 and comps[i-1] <> '': del comps[i] else: - i = i+1 + i = i + 1 # If the path is now empty, substitute '.' if not prefix and not comps: comps.append('.') - return prefix + string.joinfields(comps, os.sep) + return prefix + "\\".join(comps) # Return an absolute path. |