Python Difflib-如何使用“更改"获取SDiff序列运维 [英] Python Difflib - How to Get SDiff Sequences with "Change" Op
问题描述
我正在阅读Python的 difllib 的文档.根据每个文档,Differ delta给出了一个序列
I am reading the documentation for Python's difllib. According to the docs each, Differ delta gives a sequence
Code Meaning
'- ' line unique to sequence 1
'+ ' line unique to sequence 2
' ' line common to both sequences
'? ' line not present in either input sequence
但是更改"操作呢?如何获得类似于Perl sdiff 中的结果的"c"指令?
But what about the "Change" operation? How do I get a "c " instruction similar to the results in Perl's sdiff?
推荐答案
查看此脚本.
sdiff.py @ hungrysnake.net
sdiff.py @ hungrysnake.net
http://hungrysnake.net/doc/software__sdiff_py.html
Perl的sdiff(Algorithm :: Diff)不会考虑匹配率", 但是python的sdiff.py考虑了一下. =)
Perl's sdiff(Algorithm::Diff) dont think about "Matching rate", but python's sdiff.py think about it. =)
我有2个文本文件.
$ cat text1.txt
aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
$ cat text2.txt
aaaaaa
bbbbbb
xxxxxxx
ccccccy
zzzzzzz
eeeeee
ffffff
我是通过sdiff命令或Perl的sdiff(Algorithm :: Diff)并排比较的.
I got side by side diff by sdiff command or Perl's sdiff(Algorithm::Diff).
$ sdiff text1.txt text2.txt
aaaaaa aaaaaa
bbbbbb bbbbbb
cccccc | xxxxxxx
dddddd | ccccccy
> zzzzzzz
eeeeee eeeeee
ffffff ffffff
Sdiff不会考虑匹配率" =(
Sdiff dont think about "Matching rate" =(
我是通过sdiff.py弄到的
I got it by sdiff.py
$ sdiff.py text1.txt text2.txt
--- text1.txt (utf-8)
+++ text2.txt (utf-8)
1|aaaaaa 1|aaaaaa
2|bbbbbb 2|bbbbbb
| > 3|xxxxxxx
3|cccccc | 4|ccccccy
4|dddddd < |
| > 5|zzzzzzz
5|eeeeee 6|eeeeee
6|ffffff 7|ffffff
[ ] | +
[ <- ] 3|cccccc
[ -> ] 4|ccccccy
Sdiff.py考虑匹配率" =)
Sdiff.py think about "Matching rate" =)
我想要sdiff.py的结果.是吗?
I want result by sdiff.py. dont you ?
这篇关于Python Difflib-如何使用“更改"获取SDiff序列运维的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!