p1 = '/root/d1/d2/d1/d2'
p2 = 'd2/d1/d2/file.txt'
p1 + '/' + '/'.join([i for i in p2.split('/') if i not in p1.split('/')])
Есть ли какой-нибудь разумный способ объединить перекрывающиеся пути в python?