Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 1 | #!/usr/bin/env python |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 2 | |
Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 3 | # Fix Python script(s) to reference the interpreter via /usr/bin/env python. |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 4 | # Warning: this overwrites the file without making a backup. |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 5 | |
| 6 | import sys |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 7 | import re |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 8 | |
| 9 | |
| 10 | def main(): |
| 11 | for file in sys.argv[1:]: |
| 12 | try: |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 13 | f = open(file, 'r') |
| 14 | except IOError, msg: |
| 15 | print file, ': can\'t open :', msg |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 16 | continue |
| 17 | line = f.readline() |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 18 | if not re.match('^#! */usr/local/bin/python', line): |
Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 19 | print file, ': not a /usr/local/bin/python script' |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 20 | f.close() |
| 21 | continue |
| 22 | rest = f.read() |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 23 | f.close() |
| 24 | line = re.sub('/usr/local/bin/python', |
| 25 | '/usr/bin/env python', line) |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 26 | print file, ':', `line` |
Guido van Rossum | d68a4bd | 1999-04-09 14:56:35 +0000 | [diff] [blame] | 27 | f = open(file, "w") |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 28 | f.write(line) |
| 29 | f.write(rest) |
| 30 | f.close() |
| 31 | |
| 32 | |
| 33 | main() |