123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/usr/bin/env python
- # Copyright 2014 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- import os
- import sys
- def RemoveAllStalePycFiles(base_dir):
- """Scan directories for old .pyc files without a .py file and delete them."""
- for dirname, _, filenames in os.walk(base_dir, topdown=False):
- if '.svn' in dirname or '.git' in dirname:
- continue
- for filename in filenames:
- root, ext = os.path.splitext(filename)
- if ext != '.pyc':
- continue
- pyc_path = os.path.join(dirname, filename)
- py_path = os.path.join(dirname, root + '.py')
- try:
- if not os.path.exists(py_path):
- os.remove(pyc_path)
- except OSError:
- # Wrap OS calls in try/except in case another process touched this file.
- pass
- try:
- os.removedirs(dirname)
- except OSError:
- # Wrap OS calls in try/except in case another process touched this dir.
- pass
- if __name__ == '__main__':
- for path in sys.argv[1:]:
- RemoveAllStalePycFiles(path)
|