2016-05-31 88 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在这种情况下没有意义... –

相关问题