- replacements = [
- ('\t', '\\011'),
- ('\n', '\\012'),
- (' ', '\\040'),
- ]
- path = re.sub('\\\\([0-3][0-7][0-7])', lambda m: '\\134'+m.group(1), path)
- for a, b in replacements:
- path = path.replace(a, b)
+ path = re.sub('\\\\', lambda m: '\\134', path)
+ path = re.sub('[:\000-\040]', lambda m: "\\%03o" % ord(m.group(0)), path)