mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00: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 changed files with 11 additions and 10 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum