docs: def print_file(self, f=sys.stdout, file_format="mwtab"):
          """Print :class:`~mwtab.mwtab.MWTabFile` into a file or stdout.
  
          :param io.StringIO f: writable file-like stream.
          :param str file_format: Format to use: `mwtab` or `json`.
          :param f: Print to file or stdout.
          :param int tw: Tab width.
          :return: None
          :rtype: :py:obj:`None`
          """
          if file_format == "mwtab":
              for key in self:
                  if key == "SUBJECT_SAMPLE_FACTORS":
                      print("#SUBJECT_SAMPLE_FACTORS:         \tSUBJECT(optional)[tab]SAMPLE[tab]FACTORS(NAME:VALUE pairs separated by |)[tab]Additional sample data", file=f)
                  elif key == "METABOLOMICS WORKBENCH":
                      print(self.header, file=f)
                  else:
                      print("#{}".format(key), file=f)
  
                  self.print_block(key, f=f, file_format=file_format)
              print("#END", file=f)
  
          elif file_format == "json":
              print(self._to_json(), file=f)