class_docstr: Driver for fetching credentials that are saved locally on the filesystem.
class_docstr_tok: ["Driver","for","fetching","credentials","that","are","saved","locally","on","the","filesystem","."]
docstr: Opens a file-like object and returns it.
  
  If you use the return value in a `with` statement block then the file descriptor
  will auto-close.
  
  Args:
      descriptor (str): Descriptor of the current Output
  
  Return:
      file object
docstr_tok: ["Opens","a","file-like","object","and","returns","it",".","If","you","use","the","return","value","in","a","`","with","`","statement","block","then","the","file","descriptor","will","auto-close",".","Args",":","descriptor","(","str",")",":","Descriptor","of","the","current","Output","Return",":","file","object"]
code: def offer_fileobj(self, descriptor):
      """Opens a file-like object and returns it.
  
      If you use the return value in a `with` statement block then the file descriptor
      will auto-close.
  
      Args:
          descriptor (str): Descriptor of the current Output
  
      Return:
          file object
      """
      file_path = self.get_file_path(descriptor)
      if not os.path.exists(file_path):
          os.makedirs(os.path.dirname(file_path))
  
      return open(file_path, "a+b")
  
imports: import json
  import os
  import shutil
  import tempfile
  from abc import abstractmethod
  from botocore.exceptions import ClientError
  from streamalert.shared.helpers.aws_api_client import AwsKms, AwsSsm
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 6 for calling the LocalFileDriver obj's underlying member method code with example usage: obj.offer_fileobj(descriptor) and returns: open