2011-12-16 13 views
9

os.path.commonprefixの反対は何ですか?例えば、私は2つのパスを持っていると私は非オーバーラップパスをしたい:os.path.commonprefixの反対

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

答えて

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

正しい答えは'else/etc'ない'/else/etc'です。

p1にいて、cd /else/etcと入力した場合は、p2には着陸しませんが、他の場所に着陸します。

os.path.join(p1, 'else/etc')は、もう一度p2を与えます。

+0

すごい!私はos.pathのためにドキュメントの上を行き来し、これを逃した(盲目でなければならない)。ありがとう! – Puzzled79