code: def open_fp(self, fp):
          # type: (BinaryIO) -> None
          '''
          Open up an existing ISO for inspection and modification.  Note that the
          file object passed in here must stay open for the lifetime of this
          object, as the PyCdlib class uses it internally to do writing and reading
          operations.  If you want PyCdlib to manage this for you, use 'open'
          instead.
  
          Parameters:
           fp - The file object 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')
  
          self._open_fp(fpf open_fp(self, fp):
          # type: (BinaryIO) -> None
          '''
          Open up an existing ISO for inspection and modification.  Note that the
          file object passed in here must stay open for the lifetime of this
          object, as the PyCdlib class uses it internally to do writing and reading
          operations.  If you want PyCdlib to manage this for you, use 'open'
          instead.
  
          Parameters:
           fp - The file object 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')
  
          self._open_fp(fp)
docs: Open up an existing ISO for inspection and modification.  Note that the
          file object passed in here must stay open for the lifetime of this
          object, as the PyCdlib class uses it internally to do writing and reading
          operations.  If you want PyCdlib to manage this for you, use 'open'
          instead.
  
          Parameters:
           fp - The file object containing the ISO to open up.
          Returns:
           Nothing.