datadiff是一个库,用于提供python数据结构的可读diff。
datadiff的Python项目详细描述
datadiff是一个库,用于提供python数据结构的可读diff。 它可以处理序列类型(列表、元组等)、集合和字典。
字典和序列将递归地进行区分(如果适用)。
它对多行字符串有特殊的案例处理,将它们显示为典型的统一差异。
一些鼻子断言的替换品是可以使用的。如果断言失败, 这里显示了一个很好的数据差异,让您可以很容易地确定根差异。
datadiff适用于python 2.6到python 3。
datadiff项目主页:http://sourceforge.net/projects/datadiff/
示例
下面是一个示例:
>>> from datadiff import diff >>> a = dict(foo=1, bar=2, baz=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> b = dict(foo=1, bar=4, baz=[0, 1, 2, 3, 4, 5, 6, 7, 8]) >>> print diff(a, b) --- a +++ b { -'bar': 2, +'bar': 4, 'baz': [ @@ -5,11 +5,8 @@ 6, 7, 8, -9, -10, -11, ], 'foo': 1, } >>> >>> from datadiff.tools import assert_equal >>> assert_equal([1, 2, 3], [1, 2, 5]) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "datadiff/tools.py", line 29, in assert_equal raise AssertionError(msg) AssertionError: --- a +++ b [ @@ -0,2 +0,2 @@ 1, 2, -3, +5, ]
许可证
版权所有2012、2014 Dave Brondsema
根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。