Files को Line by Line Compare करना
Python Standard Library में Strings/Files के बीच Diffs Find करने के लिए विशेष रूप से एक Module है: difflib। difflib Library का उपयोग करके Diff प्राप्त करने के लिए, आप बस unified_diff Function को Call कर सकते हैं।
उदाहरण के लिए, मान लीजिए आपके पास 2 Files हैं, file1 और file2 जिनमें निम्न Content है:
file1: Hello People of the world file2: Hello People from India
उदाहरण: Diff Find करना
import difflib
with open('file1') as f1:
f1_text = f1.read()
with open('file2') as f2:
f2_text = f2.read()
# Diff Find करें और Print करें
for line in difflib.unified_diff(f1_text.splitlines(), f2_text.splitlines(),
fromfile='file1', tofile='file2', lineterm=''):
print(line)
Output
--- file1 +++ file2 @@ -1 +1 @@ -Hello People of the world +Hello People from India
अन्य उपयोगी Difflib Functions:
difflib.context_diff()- Context Diff Formatdifflib.ndiff()- Detailed Diff (+/-/! markers के साथ)difflib.HtmlDiff()- HTML Side-by-Side Comparison Generate करता है
Files को Directly Compare करना (Line by Line)
with open('file1') as f1, open('file2') as f2:
for line in difflib.unified_diff(f1, f2, fromfile='file1', tofile='file2'):
print(line, end='')