def __eq__(self, other):
<EOL>if not isinstance(other, CsvFile):<EOL><INDENT>return False<EOL><DEDENT>sfname = pmisc.normalize_windows_fname(self._fname)<EOL>ofname = pmisc.normalize_windows_fname(other._fname)<EOL>return all(<EOL>[<EOL>sfname == ofname,<EOL>self._rfilter == other._rfilter,<EOL>self._cfilter == other._cfilter,<EOL>self._has_header == other._has_header,<EOL>]<EOL>)<EOL>
Test object equality.

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')
    ...     obj2 = putil.pcsv.CsvFile(fname, dfilter='a')
    ...
    >>> with pmisc.TmpFile() as fname:
    ...     putil.pcsv.write(fname, [['a'], [2]], append=False)
    ...     obj3 = putil.pcsv.CsvFile(fname, dfilter='a')
    ...
    >>> obj1 == obj2
    True
    >>> obj1 == obj3
    False
    >>> 5 == obj3
    False