2012-05-10 38 views
4

如果我有一個給定文件的路徑,說'C:\Folder\OtherFolder\AnotherFolder\file.txt',是否有一種方法在python我可以得到所有的父目錄file.txt達'OtherFolder'?路徑的深度並不是恆定的,所以我不能只迭代一定次數,但無論深度如何,我總是需要達到'OtherFolder'。我覺得這應該比我做的更容易,但他們說星期四是新的星期一。 :)得到一個文件的父母目錄,達到一個點

回答

7

如果您使用的是Windows,試試這個:

import os 
os.path.relpath('C:\Folder\OtherFolder\AnotherFolder\file.txt', 'C:\Folder\OtherFolder') 

然後,您可以使用os.path.sep(你的情況\)把它分解:

rel_path.split(os.path.sep) 

,以獲得個人目錄。

在Linux機器類似調用返回你的意思:

os.path.relpath('/Folder/OtherFolder/AnotherFolder/file.txt', '/Folder/OtherFolder') 
# returns 'AnotherFolder/file.txt' 

rel_path.split(os.path.sep) 
# returns ['AnotherFolder', 'file.txt'] 
+1

太好了,這正是我一直在尋找。謝謝! –

相關問題