2015-07-20 138 views

回答

4

使用os.path.dirname得到的目錄路徑。如果你只想目錄的名稱,你可以使用os.path.basename從中提取的基本名稱:

>>> path = r'c:\xxx\abc\xyz\fileName.jpg' 
>>> import os 
>>> os.path.dirname(path) 
'c:\\xxx\\abc\\xyz' 
>>> os.path.basename(os.path.dirname(path)) 
'xyz' 
0

如果你所有的路徑看起來像你提供一個相同的:

print path.split('\\')[-2] 
0

使用Python> = 3.4 pathlib是標準庫的一部分,就可以得到父母的名字與.parent.name

from pathlib import Path 
print(Path(path).parent.name) 

要獲取所有名稱使用。家長:

print([p.name for p in Path(path).parents]) 

它可以安裝python2pip install pathlib

0

我用下面的說法。 (a)通過os分割器分割文件的完整路徑。

(b)採取將所得陣列和使用索引測距返回elments從[0:lastIndex的-1] - 總之,與從分割

(c)中產生的陣列中刪除最後元件再次使用操作系統分隔符將數組簡單地連接在一起。 應該適用於windows和linux。

這裏是一個例子的類功能。

# @param 
# absolutePathToFile an absolute path pointing to a file or directory 
# @return 
#  The path to the parent element of the path (e.g. if the absolutePathToFile represents a file, the result is its parent directory) 
# if the path represent a directory, the result is its parent directory 
def getParentDirectoryFromFile(self, absolutePathToFile): 
    splitResutsFromZeroToNMinus1 = absolutePathToFile.split(os.sep)[:-1] 
    return os.sep.join(splitResutsFromZeroToNMinus1) 
pass