docs: def read_creds_from_aws_credentials_file(profile_name, credentials_file = aws_credentials_file):
      """
      Read credentials from AWS config file
  
      :param profile_name:
      :param credentials_file:
      :return:
      """
      credentials = init_creds()
      profile_found = False
      try:
          # Make sure the ~.aws folder exists
          if not os.path.exists(aws_config_dir):
              os.makedirs(aws_config_dir)
          with open(credentials_file, 'rt') as cf:
              for line in cf:
                  profile_line = re_profile_name.match(line)
                  if profile_line:
                      if profile_line.groups()[0] == profile_name:
                          profile_found = True
                      else:
                          profile_found = False
                  if profile_found:
                      if re_access_key.match(line):
                          credentials['AccessKeyId'] = line.split("=")[1].strip()
                      elif re_secret_key.match(line):
                          credentials['SecretAccessKey'] = line.split("=")[1].strip()
                      elif re_mfa_serial.match(line):
                          credentials['SerialNumber'] = (line.split('=')[1]).strip()
                      elif re_session_token.match(line) or re_security_token.match(line):
                          credentials['SessionToken'] = ('='.join(x for x in line.split('=')[1:])).strip()
                      elif re_expiration.match(line):
                          credentials['Expiration'] = ('='.join(x for x in line.split('=')[1:])).strip()
      except Exception as e:
          # Silent if error is due to no ~/.aws/credentials file
          if not hasattr(e, 'errno') or e.errno != 2:
              printException(e)
      return credentials