[英]Why does unified_diff method from the difflib library in Python leave out some characters?
我正在嘗試檢查行之間的差異。 這是我的代碼:
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
它打印:
---
+++
@@ -4,3 +4,9 @@
d
e
f
+g
+i
+k
+l
+m
+n
“a”、“b”和“c”發生了什么? 謝謝!
如果您查看unified_diff
代碼,您會發現有關名為n
的參數的描述:
統一差異是一種顯示行更改和幾行上下文的緊湊方式。 上下文行數由“n”設置,默認為三。
在您的情況下, n
基本上表示字符數。 如果您為n
賦值,那么您將得到正確的 output。此代碼:
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
會產生:
---
+++
@@ -1,6 +1,12 @@
a
b
c
d
e
f
+g
+i
+k
+l
+m
+n
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.