在python中,我需要打印两个二进制文件的diff。我在看的difflib.Differ
做了很多。
但是,different假定文本行数,因此输出不列出字节索引和十六进制值差异。
我需要的是输出有哪些字节不同,字节如何不同,两个字节的实际十六进制值。
在Python中,如何比较两个二进制文件(输出:字节差异索引,两个字节的十六进制值)?
我在做这样的事情:
# /usr/bin/env python2
import difflib
x = open('/path/to/file1', 'r').read()
y = open('/path/to/file2', 'r').read()
print '\n'.join(difflib.Differ().compare(x, y))
但这并没有输出字节索引的不同之处。它不会打印十六进制值。
difflib比较时,它会将每个字符放入前面带有+或-的数组中。下面比较x和y,然后查看输出:
字符将以“-”开头,但不匹配+“表示它们匹配。
shell命令
cmp
已经完全满足了我的需要/需要。在Python中重新设计这个功能将需要更多的努力/代码/时间。。。所以我刚从Python调用了命令:相关问题 更多 >
编程相关推荐