python difflib原理_如何理解/使用Python difflib输出?

我试图做一个全面的差异,比较两个程序的命令行输出。我使用difflib并得出以下代码:from difflib import Differ

from pprint import pprint

import sys

def readable_whitespace(line):

return line.replace("\n", "\\n")

# Two strings are expected as input

def print_diff(text1, text2):

d = Differ()

text1 = text1.splitlines(True)

text2 = text2.splitlines(True)

text1 = [readable_whitespace(line) for line in text1]

text1 = [readable_whitespace(line) for line in text2]

result = list(d.compare(text1, text2))

sys.stdout.writelines(result)

sys.stdout.write("\n")

我有一些要求:(很明显)当存在差异时,应该清楚什么是来自哪个输出

新行替换为\n,因为它们在我的案例中很重要,并且在引起冲突时必须清晰可见

我对diff函数做了一个简单的测试:

^{pr2}$

为了方便起见,这里是与函数合并的测试,以便您可以将其作为文件执行:http://pastebin.com/BvQw9naa

我不知道这个输出试图告诉我什么:- AAAAAAA\n? ^^

+ AAAAAAA

? ^

- \n+

BBB

注意到第一行上的两个^符号吗?他们指的是什么。。。?另外,我故意将尾随的新行放入一个测试字符串中。我想迪夫没有注意到这一点。在

如何使输出全面或学会理解?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值