2011-08-24 7 views
8

私は2つのディレクトリを持っています:どのように2つのディレクトリパス間の相対パスを計算する?

subdir1 = live/events/livepkgr/events/_definst_/ 
subdir2 = live/streams/livepkgr/streams/_definst_/ 

結果は以下の通りでなければなりません:

diff_subdir = ../../../../streams/livepkgr/streams/_definst_/ 
+0

各パスの最上位ディレクトリが異なる場合は、どのように機能する必要がありますか? –

答えて

16

http://docs.python.org/library/os.path.html

os.path.relpath(パス[開始])相対リターン現在のディレクトリから、またはオプションの開始点からパス へのファイルパス。

デフォルトはos.curdirです。

利用可能なエディション:Windows、Unix。

バージョン2.6の新機能。

16
>>> subdir1 = "live/events/livepkgr/events/_definst_/" 
>>> subdir2 = "live/streams/livepkgr/streams/_definst_/" 
>>> import os 
>>> os.path.relpath(subdir2, subdir1) 
'../../../../streams/livepkgr/streams/_definst_' 
>>> 
関連する問題