class_docstr: Container for different methods to open (un-)compressed files.
  
  `_FileOpeners` contains a dictionary that holds one method for each
  supported file format. Attribute lookup is implemented in such a way
  that an instance of `_FileOpeners` itself can be indexed with the keys
  of that dictionary. Currently uncompressed files as well as files
  compressed with ``gzip``, ``bz2`` or ``xz`` compression are supported.
  
  Notes
  -----
  `_file_openers`, an instance of `_FileOpeners`, is made available for
  use in the `_datasource` module.
  
  Examples
  --------
  >>> np.lib._datasource._file_openers.keys()
  [None, '.bz2', '.gz', '.xz', '.lzma']
  >>> np.lib._datasource._file_openers['.gz'] is gzip.open
  True
code: def __init__(self):
      self._loaded = False
      self._file_openers = {None: io.open}
  
imports: from __future__ import division, absolute_import, print_function
  import os
  import sys
  import warnings
  import shutil
  import io
  from numpy.core.overrides import set_module
label_desc: Use image node_id 1 to create a new _FileOpeners object from inherited base classes: object with example: obj = _FileOpeners()