0
我想比較兩個字符串列表之間的差異。對我而言,空白是噪音,不需要顯示這些差異。讀入difflib's documentation「,默認[charjunk
]是模塊級函數IS_CHARACTER_JUNK()
,它過濾掉了空白字符」。完美,除非我沒有看到它的工作,或有很大的不同(< - 雙關!)。difflib的charjunk可以用來忽略空白嗎?
import difflib
A = ['3 4\n']
B = ['3 4\n']
print ''.join(difflib.ndiff(A, B)) # default: charjunk=difflib.IS_CHARACTER_JUNK
輸出:
- 3 4
? -
+ 3 4
我已經嘗試了一些其他linejunk
選項,但沒有實際忽略差異空白的結果。對於charjunk
的用途,我有錯誤的解釋嗎?
作爲一個方面說明,我可以通過預處理我的字符串來將這種限制旁觀化,以使用re.sub(r'\W+', ' ', 'foo\t bar')
將多個空白字符替換爲單個空格字符。