zml*_*zml 6 python unix tkinter difflib sdiff
我正在使用Python 2.6,我想创建一个简单的GUI,其中包含两个并排的文本窗格,比较两个文本文件(file1.txt和file2.txt).
我正在使用difflib,但我不清楚如何生成类似于sdiff Unix命令的结果.
为了再现一个侧方比较,我需要difflib返回两个变量file1_diff和file2_diff,例如.
我还考虑过直接使用sdiff输出并解析它来分隔窗格,但事实证明并不像看起来那么容易......任何提示?
Het*_*ett -2
我尝试使用difflib.context_diff进行文件比较:
diff = difflib.context_diff(fromlines, tolines, fromfile='file1.txt', tofile='file2.txt')
sys.stdout.writelines(diff)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你的输出将是这样的:
*** file1.txt
--- file2.txt
***************
*** 1,6 ****
! aasdf
qwer
123
! poiu
! xzcv34
xzcv
--- 1,6 ----
! asdf
qwer
+ mnbv
123
! cvnn
xzcv
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将能够轻松地分离每个文件差异,但我不确定您是否会对 context_diff 的输出感到满意。您还没有提到您使用 difflib 的方式。
| 归档时间: |
|
| 查看次数: |
1967 次 |
| 最近记录: |