p1, p2 = '/root/d1/d2/d1/d2', 'd2/d1/d2/file.txt'
sm = difflib.SequenceMatcher(None, p1, p2)
size = sm.get_matching_blocks()[0].size
path = p1 + p2[size:]
path
Есть ли какой-нибудь разумный способ объединить перекрывающиеся пути в python?