-
-
Save raczben/7fbc803097485e283215c52cb705c243 to your computer and use it in GitHub Desktop.
Get a list of filenames using argparse (updated to use default formatter)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import argparse | |
import os | |
import glob | |
def main(): | |
#Does not currently have support to read files from folders recursively | |
parser = argparse.ArgumentParser(description='Read in a file or set of files, and return the result.', formatter_class=argparse.ArgumentDefaultsHelpFormatter) | |
parser.add_argument('path', nargs='+', help='Path of a file or a folder of files.') | |
parser.add_argument('-e', '--extension', action='append', default=[''], help='File extension to filter by.') | |
args = parser.parse_args() | |
# Parse paths | |
full_paths = [os.path.join(os.getcwd(), path) for path in args.path] | |
files = set() | |
for path in full_paths: | |
if os.path.isfile(path): | |
files.add(path) | |
else: | |
for ext in args.extension: | |
files |= set(glob.glob(path + '/*' + ext)) | |
for f in files: | |
print f | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Updated, with multiple extension