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
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,)
|