]> granicus.if.org Git - python/commitdiff
Avoid import of string module; it is only needed for expandvars().
authorFred Drake <fdrake@acm.org>
Thu, 28 Sep 2000 16:25:20 +0000 (16:25 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 28 Sep 2000 16:25:20 +0000 (16:25 +0000)
Never assume that os.sep is for the module-specific platform; use the
right separator character directly.
Fix some minor style consistency nits.

Lib/dospath.py
Lib/macpath.py
Lib/ntpath.py

index 61fde00043d28ff93262a057c7b05d1463a76b94..f44d499e53f9bd11f79d3e0f6bb2052ffe754ad0 100644 (file)
@@ -2,7 +2,6 @@
 
 import os
 import stat
-import string
 
 
 def normcase(s):
@@ -15,7 +14,7 @@ def normcase(s):
     single '_', but this has been removed.  This functionality should 
     possibly be added as a new function."""
 
-    return string.lower(string.replace(s, "/", "\\"))
+    return s.replace("/", "\\").lower()
 
 
 def isabs(s):
@@ -39,7 +38,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
 
 
@@ -225,8 +224,6 @@ def expanduser(path):
     return userhome + path[i:]
 
 
-varchars = string.letters + string.digits + '_-'
-
 def expandvars(path):
     """Expand paths containing shell variable substitutions.
     The following rules apply:
@@ -239,6 +236,8 @@ def expandvars(path):
 
     if '$' not in path:
         return path
+    import string
+    varchars = string.letters + string.digits + '_-'
     res = ''
     index = 0
     pathlen = len(path)
@@ -248,9 +247,9 @@ 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
         elif c == '$':  # variable or '$$'
@@ -261,11 +260,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:
@@ -290,12 +289,12 @@ def normpath(path):
     """Normalize a path, e.g. A//B, A/./B and A/foo/../B all become A/B.
     Also, components of the path are silently truncated to 8+3 notation."""
 
-    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] == '.':
@@ -303,22 +302,22 @@ def normpath(path):
         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]
         elif '.' in comps[i]:
-            comp = string.splitfields(comps[i], '.')
+            comp = comps[i].split('.')
             comps[i] = comp[0][:8] + '.' + comp[1][:3]
-            i = i+1
+            i = i + 1
         elif len(comps[i]) > 8:
             comps[i] = comps[i][:8]
-            i = i+1
+            i = i + 1
         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)
 
 
 
index 15f42f25e583a778714da39eaba53c02a2c8e733..12eec0c97ea5c81db2c10116a4cd89c316e4b68b 100644 (file)
@@ -1,13 +1,13 @@
 """Pathname and path-related operations for the Macintosh."""
 
-import string
 import os
 from stat import *
 
 
-# Normalize the case of a pathname.  Dummy in Posix, but string.lower here.
+# Normalize the case of a pathname.  Dummy in Posix, but <s>.lower() here.
 
-normcase = string.lower
+def normcase(path):
+    return path.lower()
 
 
 def isabs(s):
@@ -44,7 +44,7 @@ def split(s):
     if ':' not in s: return '', s
     colon = 0
     for i in range(len(s)):
-        if s[i] == ':': colon = i+1
+        if s[i] == ':': colon = i + 1
     path, file = s[:colon-1], s[colon:]
     if path and not ':' in path:
         path = path + ':'
@@ -175,20 +175,20 @@ def normpath(s):
     if ":" not in s:
         return ":"+s
 
-    comps = string.splitfields(s, ":")
+    comps = s.split(":")
     i = 1
     while i < len(comps)-1:
         if comps[i] == "" and comps[i-1] != "":
             if i > 1:
                 del comps[i-1:i+1]
-                i = i-1
+                i = i - 1
             else:
                 # best way to handle this is to raise an exception
                 raise norm_error, 'Cannot use :: immedeately after volume name'
         else:
             i = i + 1
 
-    s = string.join(comps, ":")
+    s = ":".join(comps)
 
     # remove trailing ":" except for ":" and "Volume:"
     if s[-1] == ":" and len(comps) > 2 and s != ":"*len(s):
index c68232b2cf9bd6f5892082f6ed34d7e11dc74776..efcba6df923cd2ce96a6f8c5f9952f5d2f19adc7 100644 (file)
@@ -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.