class_docstr: Class to accept, maybe open, and context-manage file-likes / filenames
  
  Provides context manager to close files that the constructor opened for
  you.
  
  Parameters
  ----------
  fileish : str or file-like
      if str, then open with suitable opening method. If file-like, accept as
      is
  \*args : positional arguments
      passed to opening method when `fileish` is str.  ``mode``, if not
      specified, is `rb`.  ``compresslevel``, if relevant, and not specified,
      is set from class variable ``default_compresslevel``. ``keep_open``, if
      relevant, and not specified, is ``False``.
  \*\*kwargs : keyword arguments
      passed to opening method when `fileish` is str.  Change of defaults as
      for \*args
class_docstr_tok: ["Class","to","accept",",","maybe","open",",","and","context-manage","file-likes","\/","filenames","Provides","context","manager","to","close","files","that","the","constructor","opened","for","you",".","Parameters","--","--","--","--","--","fileish",":","str","or","file-like","if","str",",","then","open","with","suitable","opening","method",".","If","file-like",",","accept","as","is","\\","*","args",":","positional","arguments","passed","to","opening","method","when","`","fileish","`","is","str",".","``","mode","``",",","if","not","specified",",","is","`","rb","`",".","``","compresslevel","``",",","if","relevant",",","and","not","specified",",","is","set","from","class","variable","``","default_compresslevel","``",".","``","keep_open","``",",","if","relevant",",","and","not","specified",",","is","``","False","``",".","\\","*","\\","*","kwargs",":","keyword","arguments","passed","to","opening","method","when","`","fileish","`","is","str",".","Change","of","defaults","as","for","\\","*","args"]
code: def __exit__(
      self,
      exc_type: type[BaseException] | None,
      exc_val: BaseException | None,
      exc_tb: TracebackType | None,
  ) -> None:
      self.close_if_mine()
  
imports: from __future__ import annotations
  import gzip
  import io
  import typing
  from bz2 import BZ2File
  from os.path import splitext
  from ._compression import HAVE_INDEXED_GZIP, IndexedGzipFile, pyzstd
label_desc: Use image node_id 16 for calling the Opener obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_val, exc_tb) without return types