2016-05-31 132 views
0

使用glob2和操作系統,我想給定的文件路徑的目錄'/a/b/''/a/b/c/xyz.txt'如何獲取文件上游文件夾的兩個目錄的路徑名?

我已經能夠(遞歸)向前移動通過使用glob2 /*/**目錄,但不是倒退通過父目錄。我不想使用正則表達式或拆分。有沒有簡單的方法來使用glob和/或os來做到這一點?

+2

'os.path.dirname(os.path.dirname(「/ a/b/c/xyz.txt」))'? –

+2

我真的推薦使用rsplit通過'「/a/b/c/xyz.txt".rsplit(」/「,2)[0]' –

+0

你是對的 - 我認爲rsplit最有意義。對我來說,閱讀和理解後面簡潔易懂。 – user391339

回答

2

爲什麼glob?

dir_path = file_path.split('/') 
what_i_want = '/' + dir_path[10] + '/' + dir_path[1] + '/' 

您也可以通過查找第三斜線的索引,使用每個呼叫的「開始」的說法下一返回做到這一點。

third_slash = file_path.index('/', file_path.index('/', file_path.index('/')+1) +1) 
what_i_want = file_path[:third_slash+1] 
+0

我同意glob在這種情況下沒有意義... –

相關問題