| #!/usr/bin/env python3 | |
| # | |
| # Copyright 2015 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. | |
| """Recursively list files of the target directory. Ignores dot files.""" | |
| import argparse | |
| import os | |
| import sys | |
| def main(target_directory, file_extension): | |
| for root, dirs, files in os.walk(target_directory): | |
| files = [f for f in files if not f[0] == '.'] | |
| dirs[:] = [d for d in dirs if not d[0] == '.'] | |
| for f in files: | |
| if file_extension is None or os.path.splitext(f)[-1] == file_extension: | |
| path = os.path.join(root, f) | |
| print(path) | |
| if __name__ == '__main__': | |
| parser = argparse.ArgumentParser( | |
| description="Recursively list files of the target directory") | |
| parser.add_argument("--target-directory", | |
| dest="target_directory", | |
| metavar="<target-directory>", | |
| type=str, | |
| required=True, | |
| help="The target directory") | |
| parser.add_argument("--file-extension", | |
| dest="file_extension", | |
| metavar="<file-extension>", | |
| type=str, | |
| required=False, | |
| help="File extension to filter") | |
| args = parser.parse_args() | |
| sys.exit(main(args.target_directory, args.file_extension)) |