mirror of
https://github.com/python/cpython.git
synced 2024-11-25 02:44:06 +08:00
Use re instead of regex.
Don't rewrite the file in place. (Reported by Andy Dustman.)
This commit is contained in:
parent
2e1094e4ef
commit
d68a4bd56c
@ -1,29 +1,30 @@
|
||||
#! /usr/bin/env python
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Fix Python script(s) to reference the interpreter via /usr/bin/env python.
|
||||
# Warning: this overwrites the file without making a backup.
|
||||
|
||||
import sys
|
||||
import regex
|
||||
import regsub
|
||||
import re
|
||||
|
||||
|
||||
def main():
|
||||
for file in sys.argv[1:]:
|
||||
try:
|
||||
f = open(file, 'r+')
|
||||
except IOError:
|
||||
print file, ': can\'t open for update'
|
||||
f = open(file, 'r')
|
||||
except IOError, msg:
|
||||
print file, ': can\'t open :', msg
|
||||
continue
|
||||
line = f.readline()
|
||||
if regex.match('^#! */usr/local/bin/python', line) < 0:
|
||||
if not re.match('^#! */usr/local/bin/python', line):
|
||||
print file, ': not a /usr/local/bin/python script'
|
||||
f.close()
|
||||
continue
|
||||
rest = f.read()
|
||||
line = regsub.sub('/usr/local/bin/python',
|
||||
'/usr/bin/env python', line)
|
||||
f.close()
|
||||
line = re.sub('/usr/local/bin/python',
|
||||
'/usr/bin/env python', line)
|
||||
print file, ':', `line`
|
||||
f.seek(0)
|
||||
f = open(file, "w")
|
||||
f.write(line)
|
||||
f.write(rest)
|
||||
f.close()
|
||||
|
Loading…
Reference in New Issue
Block a user