mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	 aaab30e00c
			
		
	
	
		aaab30e00c
		
	
	
	
	
		
			
			(with one small bugfix in bgen/bgen/scantools.py) This replaces string module functions with string methods for the stuff in the Tools directory. Several uses of string.letters etc. are still remaining.
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| #! /usr/bin/env python
 | |
| 
 | |
| "Replace tabs with spaces in argument files.  Print names of changed files."
 | |
| 
 | |
| import os
 | |
| import sys
 | |
| import getopt
 | |
| 
 | |
| def main():
 | |
|     tabsize = 8
 | |
|     try:
 | |
|         opts, args = getopt.getopt(sys.argv[1:], "t:")
 | |
|         if not args:
 | |
|             raise getopt.error, "At least one file argument required"
 | |
|     except getopt.error, msg:
 | |
|         print msg
 | |
|         print "usage:", sys.argv[0], "[-t tabwidth] file ..."
 | |
|         return
 | |
|     for optname, optvalue in opts:
 | |
|         if optname == '-t':
 | |
|             tabsize = int(optvalue)
 | |
| 
 | |
|     for file in args:
 | |
|         process(file, tabsize)
 | |
| 
 | |
| def process(file, tabsize):
 | |
|     try:
 | |
|         f = open(file)
 | |
|         text = f.read()
 | |
|         f.close()
 | |
|     except IOError, msg:
 | |
|         print "%s: I/O error: %s" % (`file`, str(msg))
 | |
|         return
 | |
|     newtext = text.expandtabs(tabsize)
 | |
|     if newtext == text:
 | |
|         return
 | |
|     backup = file + "~"
 | |
|     try:
 | |
|         os.unlink(backup)
 | |
|     except os.error:
 | |
|         pass
 | |
|     try:
 | |
|         os.rename(file, backup)
 | |
|     except os.error:
 | |
|         pass
 | |
|     f = open(file, "w")
 | |
|     f.write(newtext)
 | |
|     f.close()
 | |
|     print file
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     main()
 |