def __str__(self):
    "Returns a string representation of the CDF\n\n        This is an 'informal' representation in that it cannot be evaluated\n        directly to create a :py:class:`pycdf.CDF`, just the names, types, and sizes of all\n        variables. (Attributes are not listed.)\n\n        @return: description of the variables in the CDF\n        @rtype: str\n        "
    if self._opened:
        return '\n'.join([((key + ': ') + str(value)) for (key, value) in sorted(self.items())])
    elif isinstance(self.pathname, str):
        return 'Closed CDF {0}'.format(self.pathname)
    else:
        return 'Closed CDF {0}'.format(self.pathname.decode('ascii'))
Returns a string representation of the CDF

This is an 'informal' representation in that it cannot be evaluated
directly to create a :py:class:`pycdf.CDF`, just the names, types, and sizes of all
variables. (Attributes are not listed.)

@return: description of the variables in the CDF
@rtype: str
def __str__(self):
    "Returns a string representation of the CDF\n\n        This is an 'informal' representation in that it cannot be evaluated\n        directly to create a :py:class:`pycdf.CDF`, just the names, types, and sizes of all\n        variables. (Attributes are not listed.)\n\n        @return: description of the variables in the CDF\n        @rtype: str\n        "
    if self._opened:
        return '\n'.join([((key + ': ') + str(value)) for (key, value) in sorted(self.items())])
    elif isinstance(self.pathname, str):
        return 'Closed CDF {0}'.format(self.pathname)
    else:
        return 'Closed CDF {0}'.format(self.pathname.decode('ascii'))