You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
862 B

#! /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,)