Python對比倆個文件內容


大概總結了Python對比的方法

1、dfflib

#!/usr/bin/python
import difflib
text1 = """text1:  #定義字符串1
This module provides classes and functions for comparing sequences.
including HTML and context and unified diffs."""
 
text1_lines = text1.splitlines() #以行進行分隔,以便進行對比
text2 = """text2: #定義第二個字符串
This module provides """
 
text2_lines = text2.splitlines()
d = difflib.Differ() #創建Differ對象
diff = d.compare(text1_lines, text2_lines)  #采用compare方法對字符串進行比較
print('\n'.join(list(diff)))

 

2、set

import difflib

a = open('./1.txt', 'U').readlines()
b = open('./2.txt', 'U').readlines()
diff = difflib.ndiff(a, b)
print(diff)
for i in diff:
    print(i)
    # if i.startswith('+'):
    #     print(i)

#or
print(set(b)-set(a))

 

3、Python原始方法對比

import sys
  
f1, f2=None,None
try:
    f1=open("pro1.txt", "r")
    m=f1.readlines()
except IOError:
    print "pro.txt does not exist!"
    sys.exit(2)
finally:
    if f1:
        f1.close()
# reead lines from mids2.txt
try:
    f2=open("pro.txt", "r")
    n=f2.readlines()
except IOError:
    print "pro1.txt does not exist!"
    sys.exit(2)
finally:
    if f2:
        f2.close()
#filter
for a in m:
    for b in n:
        if a==b:
            n.remove(b)    
 
for i in range(len(n)):
    n[i]=n[i].strip()
#print n
#print " ".join(n)
for aar in n:
    with open("baidu.txt","a") as fe:
        fe.write(aar+"\n")

 

轉自

(4條消息)使用python讀取文件數據並轉化為列表_longling0的博客-CSDN博客

https://blog.csdn.net/longling0/article/details/106172862

(3條消息)兩行數據進行對比-python_程序員雜談-CSDN博客

https://blog.csdn.net/trecn001/article/details/84586484

(3條消息)python對比兩個文件的方法_yangchaoming的博客-CSDN博客

https://blog.csdn.net/qq_38072531/article/details/78205209

(4條消息)[376]python快速比較兩個文件的不同_周小董-CSDN博客

https://blog.csdn.net/xc_zhou/article/details/81814361

python 比較2個文件內容 - 道以萬計 - 博客園

https://www.cnblogs.com/snow-backup/p/11726931.html

Python:對比兩段文本和兩個文件不同的地方 - 簡書

https://www.jianshu.com/p/cce80d678b48


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM