import os import sys,getopt from pathlib import Path import datetime, time from datetime import datetime def get_files_in_dir(source): try: for entry in os.scandir(source): if entry.is_dir(follow_symlinks=False): yield from get_files_in_dir(entry.path) else: yield entry.path except PermissionError as e: print('in exception in get_files_in_dir function') pass def main(argv): print('\nNumber of arguments:', len(sys.argv), 'arguments.') print('\nArgument List:', str(sys.argv)) source = argv[1] print('\nSource is ',source) tstamp = datetime.now() print('Start time is ',f"{tstamp:%Y-%m-%d.%H:%M:%S}") for file in get_files_in_dir(source): try: print('file is ',file) except StopIteration as e: print('in StopIteration exception') break end_tstamp = datetime.now() print('End time is ',f"{end_tstamp:%Y-%m-%d.%H:%M:%S}") duration = end_tstamp - tstamp print('Duration is ',str(duration).split('.')[0]) exit if __name__ == '__main__': # send_file_to_S3.py source destination # source - file or directory # destination S3 bucket formatted like this: 's3://bucket/key' # # script will issue an invalid credentials error if the aws configure command # has not been used to configure the connection print('argv is ',sys.argv) main(sys.argv[0:])