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

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
打印val在Java中可以用作变量吗?   java如何以矩阵格式存储2D数组(带逗号)   java获取空的响应正文,带有Inversion2>无法填充数据   java Jackson UnrecognizedPropertyException存在时引发   java为什么我可以在非公共类中拥有公共成员?   如何在Java中从外部库导入包?   java如何从不推荐使用的日期类型替换getDate()?   java如何将数据集转换为JavaPairDD?   如何在JavaSpring中创建3d数组   合法线程操作的java定义   如何从java文本文件中读取输入   从StringArray java中的标记/单词构建句子   将UDP从Java发送到Python不起作用   java显示组织。日食xsd。XSDSchema内容