2017-06-07 41 views
0

你們知道更聰明的方法嗎?Python-多個os.path.split()

os.path.split(os.path.split(os.path.split(os.getcwd())[0])[0])[0] 

os.getcwd()就例如:

/my/path/to/my/directory 

我應該得到

/my/path/ 

實際上這也就是os.path.split這樣的exageration和重複()AHAH

謝謝,

+0

爲什麼不在調用'os.getcwd()'後嘗試一個正則表達式? – CryptoCat

+3

您是否聽說過['os.path.dirname'](https://docs.python.org/2/library/os.path.html#os.path.dirname)? – user2357112

+0

@ user2357112當然,他有,因爲它在他使用的功能的文檔中提到... –

回答

1

我會建議你用os.sep

os.sep.join(os.getcwd().split(os.sep)[:-3])

+0

看起來很複雜,但效果很好! –

1

您可以使用pathlib

from pathlib import Path 
path = Path('/my/path/to/my/directory').parents[2] 
print(path) 

>>> /my/path 

對於Python 3.4的,pathlib是標準庫的一部分,但你可以在早期版本的安裝

PIP安裝pathlib

+0

工作正常,但你必須下載pathlib。 它已經在您的網站包? –

+0

@MathieuChâteauvert我剛剛更新了我的答案和這些信息 – Wondercricket