test1.txt
的内容如下:
Hi, how are you ?
It's already late.
My name is Sayan.
test2.txt
的内容如下:
My name is Sayan.
It's already late.
Hi, how are you ?
在我的场景中,两个文件都是内容相同的。
我想创建一个脚本(基本上不使用sort
,comm
,cmp
,diff
)来比较这两个文件test1.txt
和test2.txt
,内容明智并产生结果:
File Comparison status - Success
或如果内容不同,则
File Comparison status - Failed [ check in result.txt ]
其中result.txt
将列出额外或缺失或修改的内容。
脚本可以是Bash或/和Python。我怎么能这样做?
答案 0 :(得分:0)
如果文件不是太大,您可以使用sorted()
对行进行排序并比较结果列表。为了产生文件的差异'您可以使用difflib
模块的内容:
import difflib
with open('file1') as f1, open('file2') as f2:
f1_lines = sorted(f1)
f2_lines = sorted(f2)
if f1_lines == f2_lines:
print("Equal so far")
f2_lines.append("Extra line\n")
print("".join(difflib.unified_diff(f1_lines, f2_lines)))
输出:
Equal so far
---
+++
@@ -1,3 +1,4 @@
Hi, how are you ?
It's already late.
My name is Sayan.
+Extra line