| 
									
										
										
										
											2002-08-09 10:17:28 +00:00
										 |  |  | #!/usr/local/bin/python | 
					
						
							| 
									
										
										
										
											2002-09-06 20:23:09 +00:00
										 |  |  | """Recursively zap all .pyc and .pyo files""" | 
					
						
							| 
									
										
										
										
											2001-01-23 22:45:52 +00:00
										 |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-09 10:17:28 +00:00
										 |  |  | # set doit true to actually delete files | 
					
						
							|  |  |  | # set doit false to just print what would be deleted | 
					
						
							| 
									
										
										
										
											2001-01-23 22:45:52 +00:00
										 |  |  | doit = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def main(): | 
					
						
							| 
									
										
										
										
											2002-08-09 10:17:28 +00:00
										 |  |  | 	if not sys.argv[1:]: | 
					
						
							|  |  |  | 		if os.name == 'mac': | 
					
						
							|  |  |  | 			import macfs | 
					
						
							|  |  |  | 			fss, ok = macfs.GetDirectory('Directory to zap pyc files in') | 
					
						
							|  |  |  | 			if not ok: | 
					
						
							|  |  |  | 				sys.exit(0) | 
					
						
							|  |  |  | 			dir = fss.as_pathname() | 
					
						
							|  |  |  | 			zappyc(dir) | 
					
						
							|  |  |  | 		else: | 
					
						
							| 
									
										
										
										
											2001-01-23 22:45:52 +00:00
										 |  |  | 			print 'Usage: zappyc dir ...' | 
					
						
							|  |  |  | 			sys.exit(1) | 
					
						
							| 
									
										
										
										
											2002-08-09 10:17:28 +00:00
										 |  |  | 	for dir in sys.argv[1:]: | 
					
						
							|  |  |  | 		zappyc(dir) | 
					
						
							| 
									
										
										
										
											2001-01-23 22:45:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def zappyc(dir): | 
					
						
							|  |  |  | 	os.path.walk(dir, walker, None) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | def walker(dummy, top, names): | 
					
						
							|  |  |  | 	for name in names: | 
					
						
							| 
									
										
										
										
											2002-09-06 20:23:09 +00:00
										 |  |  | 		if name[-4:] in ('.pyc', '.pyo'): | 
					
						
							| 
									
										
										
										
											2001-01-23 22:45:52 +00:00
										 |  |  | 			path = os.path.join(top, name) | 
					
						
							|  |  |  | 			print 'Zapping', path | 
					
						
							|  |  |  | 			if doit: | 
					
						
							|  |  |  | 				os.unlink(path) | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  | 	main() | 
					
						
							|  |  |  | 	 |