def __str__(self):
ret = ["<STR_LIT>".format(self._fname)]<EOL>ret += ["<STR_LIT>".format(self._header)]<EOL>ret += ["<STR_LIT>".format(self._rfilter)]<EOL>ret += ["<STR_LIT>".format(self._cfilter)]<EOL>ret += [<EOL>"<STR_LIT>".format(<EOL>rrows=self._data_rows,<EOL>urows=(<EOL>"<STR_LIT>".format(rows=self._fdata_rows)<EOL>if self._rfilter is not None<EOL>else "<STR_LIT>"<EOL>),<EOL>)<EOL>]<EOL>ret += [<EOL>"<STR_LIT>".format(<EOL>rcols=self._data_cols,<EOL>ucols=(<EOL>"<STR_LIT>".format(cols=self._fdata_cols)<EOL>if self._cfilter is not None<EOL>else "<STR_LIT>"<EOL>),<EOL>)<EOL>]<EOL>return "<STR_LIT:\n>".join(ret)<EOL>
Return a string with a detailed description of the object's contents.

For example:

    >>> from __future__ import print_function
    >>> import pmisc, putil.pcsv
    >>> with pmisc.TmpFile() as fname:
    ...     putil.pcsv.write(fname, [['a', 'b'], [1, 2], [3, 4]])
    ...     obj = putil.pcsv.CsvFile(fname, dfilter='a')
    ...
    >>> print(str(obj)) #doctest: +ELLIPSIS
    File: ...
    Header: ['a', 'b']
    Row filter: None
    Column filter: ['a']
    Rows: 2
    Columns: 2 (1 filtered)