为什么Python中difflib库中的unified_diff方法遗漏了一些字符?

2024-05-28 23:48:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着检查线条之间的差异。这是我的代码:

from difflib import unified_diff

s1 = ['a', 'b', 'c', 'd', 'e', 'f']
s2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'k', 'l', 'm', 'n']

for line in unified_diff(s1, s2):
    print line

它打印:

^{pr2}$

“a”、“b”和“c”怎么了?谢谢!在


Tags: 代码infromimportforlinediff差异
1条回答
网友
1楼 · 发布于 2024-05-28 23:48:48

如果您查看unified_diff代码,您将找到一个名为n的参数的描述:

Unified diffs are a compact way of showing line changes and a few lines of context. The number of context lines is set by 'n' which defaults to three.

在您的例子中,n基本上表示字符数。如果给n赋值,那么您将得到正确的输出。此代码:

from difflib import unified_diff

s1 = ['a', 'b', 'c', 'd', 'e', 'f']
s2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'k', 'l', 'm', 'n']

for line in unified_diff(s1, s2,n=6):
    print line

将产生:

^{pr2}$

相关问题 更多 >

    热门问题