我有兩個字符串:stringA和stringB。如何計算Python中的差分
我想stringA和stringB之間計算差,使得它僅包含兩個之間的區別。如果我在stringA上應用差異,我應該可以得到stringB。
在Python中有difflib
,但它不像上面那樣計算機差異幾乎可以保存兩個字符串的內容。
例子:
stringA = "apple\nball\n"
stringB = "apple\ncat\n"
現在差應該像-2,+2cat\n
,它只是一個例子,但我想區別是最低限度的信息。
現在,如果我將以上差異應用於stringA我應該得到stringB。
我不清楚你的意思是「最低限度的信息」。如果您不想使用上下文,請使用'difflib.unified_diff(...,n = 0)',否則請花幾個詞來解釋爲什麼這樣做不能達到您想要的效果。 –
嗨感謝您的回覆,以下是我的目標:我得到一個對象A並將它發送給Alice,然後我收到一個對象A'[幾乎A但幾行更改]。現在,我不再發送A',而只想發送差異,以便Alice可以將這個差異應用於A並獲得A'。 當我試圖使用difflib來計算diff時,它似乎也保存了常見的線條和差異。但我只是想發送差異來節省帶寬。我希望這會有所幫助。 – user4993781
'n'= 0'(也許使用gzip壓縮)'unified_diff'有幫助嗎? –