diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-09-25 20:56:52 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-09-25 20:56:52 (GMT) |
commit | 9abfc457e0b7cd79c848943d5dde604668dfe06d (patch) | |
tree | 98be602d147c20b9af1b54577b31a03aca893492 /Tools | |
parent | 8fb00bef2747b832c828981f2b54d2f88495694f (diff) | |
download | cpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.zip cpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.tar.gz cpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.tar.bz2 |
correct the fixpath.py script to work in Python 3 #6999
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/scripts/pathfix.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/Tools/scripts/pathfix.py b/Tools/scripts/pathfix.py index 601a172..6cbac10 100755 --- a/Tools/scripts/pathfix.py +++ b/Tools/scripts/pathfix.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#!/usr/bin/env python3 # Change the #! line occurring in Python scripts. The new interpreter # pathname must be given with a -i option. @@ -43,8 +43,9 @@ def main(): sys.exit(2) for o, a in opts: if o == '-i': - new_interpreter = a - if not new_interpreter or new_interpreter[0] != '/' or not args: + new_interpreter = a.encode() + if not new_interpreter or not new_interpreter.startswith(b'/') or \ + not args: err('-i option or file-or-directory missing\n') err(usage) sys.exit(2) @@ -61,7 +62,7 @@ def main(): ispythonprog = re.compile('^[a-zA-Z0-9_]+\.py$') def ispython(name): - return ispythonprog.match(name) >= 0 + return bool(ispythonprog.match(name)) def recursedown(dirname): dbg('recursedown(%r)\n' % (dirname,)) @@ -88,7 +89,7 @@ def recursedown(dirname): def fix(filename): ## dbg('fix(%r)\n' % (filename,)) try: - f = open(filename, 'r') + f = open(filename, 'rb') except IOError as msg: err('%s: cannot open: %r\n' % (filename, msg)) return 1 @@ -101,7 +102,7 @@ def fix(filename): head, tail = os.path.split(filename) tempname = os.path.join(head, '@' + tail) try: - g = open(tempname, 'w') + g = open(tempname, 'wb') except IOError as msg: f.close() err('%s: cannot create: %r\n' % (tempname, msg)) @@ -139,11 +140,11 @@ def fix(filename): return 0 def fixline(line): - if not line.startswith('#!'): + if not line.startswith(b'#!'): return line - if "python" not in line: + if b"python" not in line: return line - return '#! %s\n' % new_interpreter + return b'#! ' + new_interpreter + b'\n' if __name__ == '__main__': main() |