def __repr__(self):
dfilter_list = (<EOL>None,<EOL>self._cfilter,<EOL>self._rfilter,<EOL>(self._rfilter, self._cfilter),<EOL>)<EOL>dfilter = dfilter_list[<EOL><NUM_LIT:2> * (self._rfilter is not None) + (self._cfilter is not None)<EOL>]<EOL>has_header = self._has_header<EOL>ret = [<EOL>"<STR_LIT>".format(<EOL>pmisc.normalize_windows_fname(self._fname)<EOL>)<EOL>]<EOL>if dfilter:<EOL><INDENT>ret.append("<STR_LIT>".format(dfilter))<EOL><DEDENT>if not has_header:<EOL><INDENT>ret.append("<STR_LIT>".format(has_header))<EOL><DEDENT>return "<STR_LIT:U+002CU+0020>".join(ret) + "<STR_LIT:)>"<EOL>
Return a string with the expression needed to re-create the object.

For example:

    >>> import pmisc, putil.pcsv
    >>> with pmisc.TmpFile() as fname:
    ...     putil.pcsv.write(fname, [['a'], [1]], append=False)
    ...     obj1 = putil.pcsv.CsvFile(fname, dfilter='a')
    ...     exec("obj2="+repr(obj1))
    >>> obj1 == obj2
    True
    >>> repr(obj1)
    "putil.pcsv.CsvFile(fname=r'...', dfilter=['a'])"