blob: 6d3574877d9c941ed344360c5c9c9d1dedf1fffc [file] [log] [blame]
Benjamin Peterson9cf41d02010-03-11 22:33:25 +00001#!/usr/bin/env python
Jack Jansen3337ea72002-09-06 20:23:09 +00002"""Recursively zap all .pyc and .pyo files"""
Jack Jansendfebb272001-01-23 22:45:52 +00003import os
4import sys
5
Jack Jansenf1148f02002-08-09 10:17:28 +00006# set doit true to actually delete files
7# set doit false to just print what would be deleted
Jack Jansendfebb272001-01-23 22:45:52 +00008doit = 1
9
10def main():
Tim Peters182b5ac2004-07-18 06:16:08 +000011 if not sys.argv[1:]:
Ronald Oussoren9545a232010-05-05 19:09:31 +000012 print 'Usage: zappyc dir ...'
13 sys.exit(1)
Tim Peters182b5ac2004-07-18 06:16:08 +000014 for dir in sys.argv[1:]:
15 zappyc(dir)
Jack Jansendfebb272001-01-23 22:45:52 +000016
17def zappyc(dir):
Tim Peters182b5ac2004-07-18 06:16:08 +000018 os.path.walk(dir, walker, None)
19
Jack Jansendfebb272001-01-23 22:45:52 +000020def walker(dummy, top, names):
Tim Peters182b5ac2004-07-18 06:16:08 +000021 for name in names:
22 if name[-4:] in ('.pyc', '.pyo'):
23 path = os.path.join(top, name)
24 print 'Zapping', path
25 if doit:
26 os.unlink(path)
27
Jack Jansendfebb272001-01-23 22:45:52 +000028if __name__ == '__main__':
Tim Peters182b5ac2004-07-18 06:16:08 +000029 main()