Я думаю, вы должны сделать это вручную, я не думаю, что os.path реализует эту функцию.
Возможно, попробуйте что-то вроде:
def combine_with_duplicate(root, rel_path):
rs = root.split("/")
rps = rel_path.split("/")
popped = False
for v in rs:
if v == rps[0]:
rps.pop(0)
popped = True
elif popped:
break
return "/".join(rs+rps)
print(combine_with_duplicate('/home/user/test', 'test/files/file.txt'))
# /home/user/test/files/file.txt
print(combine_with_duplicate('/home/user', 'test/files/file.txt'))
# /home/user/test/files/file.txt
print(combine_with_duplicate('/home/user/test', 'user/test/files/file.txt'))
# /home/user/test/files/file.txt