code: def open(self, filename):
          # type: (str) -> None
          '''
          Open up an existing ISO for inspection and modification.
  
          Parameters:
           filename - The filename containing the ISO to open up.
          Returns:
           Nothing.
          '''
          if self._initialized:
              raise pycdlibexception.PyCdlibInvalidInput('This object already has an ISO; either close it or create a new object')
  
          fp = open(filename, 'r+b')
          self._managing_fp = True
          try:
              self._open_fp(fp)
          except Exception:
              fp.close()
              raisf open(self, filename):
          # type: (str) -> None
          '''
          Open up an existing ISO for inspection and modification.
  
          Parameters:
           filename - The filename containing the ISO to open up.
          Returns:
           Nothing.
          '''
          if self._initialized:
              raise pycdlibexception.PyCdlibInvalidInput('This object already has an ISO; either close it or create a new object')
  
          fp = open(filename, 'r+b')
          self._managing_fp = True
          try:
              self._open_fp(fp)
          except Exception:
              fp.close()
              raise
docs: Open up an existing ISO for inspection and modification.
  
          Parameters:
           filename - The filename containing the ISO to open up.
          Returns:
           Nothing.