File: py.cleanup

package info (click to toggle)
python-cffi 2.0.0~b1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,796 kB
  • sloc: python: 28,456; ansic: 15,272; asm: 116; makefile: 97; sh: 14
file content (31 lines) | stat: -rwxr-xr-x 862 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /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,)