32 lines
		
	
	
		
			862 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			862 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
| #! /usr/bin/env python
 | |
| import sys, os, stat
 | |
| from bsdopendirtype import opendir
 | |
| 
 | |
| def clean(path):
 | |
|     global count
 | |
|     try:
 | |
|         content = opendir(path)
 | |
|     except OSError:
 | |
|         print >> sys.stderr, "skipping", path
 | |
|         return
 | |
|     for filename, smode in content:
 | |
|         if stat.S_ISDIR(smode):
 | |
|             clean(filename)
 | |
|             if filename.endswith('/__pycache__'):
 | |
|                 try:
 | |
|                     os.rmdir(filename)
 | |
|                 except OSError:
 | |
|                     pass
 | |
|         elif (filename.endswith('.pyc') or filename.endswith('.pyo') or
 | |
|               filename.endswith('.pyc~') or filename.endswith('.pyo~')):
 | |
|             os.unlink(filename)
 | |
|             count += 1
 | |
| 
 | |
| count = 0
 | |
| 
 | |
| for arg in sys.argv[1:] or ['.']:
 | |
|     print "cleaning path", arg, "of .pyc/.pyo/__pycache__ files"
 | |
|     clean(arg)
 | |
| 
 | |
| print "%d files removed" % (count,)
 |