On Wed, Jun 10, 2009 at 8:11 PM, higer<higerinbeij...@gmail.com> wrote:
> I just want to compare two files,one from windows and the other from
> unix. But I do not want to compare them through reading them line by
> line. Then I found there is a filecmp module which is used as file and
> directory comparisons. However,when I use two same files (one from
> unix,one from windows,the content of them is the same) to test its cmp
> function, filecmp.cmp told me false.
>
> Later, I found that windows use '\n\r' as new line flag but unix use
> '\n', so filecmp.cmp think that they are different,then return false.
> So, can anyone tell me that is there any method like IgnoreNewline
> which can ignore the difference of new line flag in diffrent
> platforms? If not,I think filecmp may be not a good file comparison

Nope, there's no such flag. You could run the files through either
`dos2unix` or `unix2dos` beforehand though, which would solve the
problem.
Or you could write the trivial line comparison code yourself and just
make sure to open the files in Universal Newline mode (add 'U' to the
`mode` argument to `open()`).
You could also file a bug (a patch to add newline insensitivity would
probably be welcome).

Cheers,
Chris
-- 
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to