zappycfiles.py 775 Bytes
Newer Older
1
#!/usr/local/bin/python
Jack Jansen's avatar
Jack Jansen committed
2
"""Recursively zap all .pyc and .pyo files"""
3 4 5
import os
import sys

6 7
# set doit true to actually delete files
# set doit false to just print what would be deleted
8 9 10
doit = 1

def main():
11 12 13 14 15 16 17 18 19
	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:
20 21
			print 'Usage: zappyc dir ...'
			sys.exit(1)
22 23
	for dir in sys.argv[1:]:
		zappyc(dir)
24 25 26 27 28 29

def zappyc(dir):
	os.path.walk(dir, walker, None)
	
def walker(dummy, top, names):
	for name in names:
Jack Jansen's avatar
Jack Jansen committed
30
		if name[-4:] in ('.pyc', '.pyo'):
31 32 33 34 35 36 37 38
			path = os.path.join(top, name)
			print 'Zapping', path
			if doit:
				os.unlink(path)
				
if __name__ == '__main__':
	main()