2011-12-16 18 views
9

¿Qué es lo opuesto a os.path.commonprefix? Tengo dos caminos y quiero que el camino no se solapan, por ejemplo .:Opuesto a os.path.commonprefix

>>> p1 = '/Users/foo/something' 
>>> p2 = '/Users/foo/something/else/etc' 
>>> print somefunction([p1, p2]) 
'/else/etc' 

Respuesta

12
>>> p1 = '/Users/foo/something' 
>>> p2 = '/Users/foo/something/else/etc' 
>>> os.path.relpath(p2, start=p1) 
'else/etc' 

La respuesta correcta es 'else/etc' y no '/else/etc'.

Si estás en p1 y escribe cd /else/etc no aterrizarías en p2, sino en otro lugar.

os.path.join(p1, 'else/etc') le devuelve p2.

+0

¡Oh, genial! Revisé una y otra vez los documentos para os.path y me perdí esto (debo estar ciego). ¡Gracias! – Puzzled79