Python Difflib-如何使用“更改"获取SDiff序列运维 [英] Python Difflib - How to Get SDiff Sequences with "Change" Op

查看:99
本文介绍了Python Difflib-如何使用“更改"获取SDiff序列运维的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在阅读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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆