16a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters# Remove all the .pyc and .pyo files under ../Lib.
26a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters
38b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters
46a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Petersdef deltree(root):
56a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters    import os
68b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters    from os.path import join
78b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters
86a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters    npyc = npyo = 0
98b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters    for root, dirs, files in os.walk(root):
108b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters        for name in files:
118b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters            delete = False
128b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters            if name.endswith('.pyc'):
138b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters                delete = True
146a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters                npyc += 1
158b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters            elif name.endswith('.pyo'):
168b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters                delete = True
176a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters                npyo += 1
188b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters
198b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters            if delete:
208b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters                os.remove(join(root, name))
218b7beb631bd34bbc7d17e8f7e7256ee076a3e381Tim Peters
226a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters    return npyc, npyo
236a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Peters
246a9aec47b72cf42bed0f845e751eb243f85b43d6Tim Petersnpyc, npyo = deltree("../Lib")
259abb96307fa707f3eb12c515cfa3407a56a33eb9Thomas Hellerprint(npyc, ".pyc deleted,", npyo, ".pyo deleted")
26