code: def dumps(props, separator='=', comments=None, timestamp=True, sort_keys=False):
      
      s = StringIO()
      dump(props, s, separator=separator, comments=comments, timestamp=timestamp,
           sort_keys=sort_keys)
      return s.getvalue()
docs: Convert a series of key-value pairs to a text string in simple
      line-oriented ``.properties`` format.
  
      :param props: A mapping or iterable of ``(key, value)`` pairs to serialize.
          All keys and values in ``props`` must be text strings.  If
          ``sort_keys`` is `False`, the entries are output in iteration order.
      :param separator: The string to use for separating keys & values.  Only
          ``" "``, ``"="``, and ``":"`` (possibly with added whitespace) should
          ever be used as the separator.
      :type separator: text string
      :param comments: if non-`None`, ``comments`` will be output as a comment
          before any other content
      :type comments: text string or `None`
      :param timestamp: If neither `None` nor `False`, a timestamp in the form of
          ``Mon Sep 02 14:00:54 EDT 2016`` is output as a comment after
          ``comments`` (if any) and before the key-value pairs.  If ``timestamp``
          is `True`, the current date & time is used.  If it is a number, it is
          converted from seconds since the epoch to local time.  If it is a
          `datetime.datetime` object, its value is used directly, with naïve
          objects assumed to be in the local timezone.
      :type timestamp: `None`, `bool`, number, or `datetime.datetime`
      :param bool sort_keys: if true, the elements of ``props`` are sorted
          lexicographically by key in the output
      :rtype: text string