python从路径列表中提取部分

时间:2018-03-18 18:00:31

标签: python list

我有一个文件夹路径列表,所以我有:

  1. folder/subfolder1/file1
  2. folder/subfolder1/file2
  3. folder/subfolder2/file1
  4. folder/subfolder2/file2
  5. folder/subfolder3/file1
  6. folder/subfolder3/file2
  7. 等。

    从这个路径列表中我想迭代地从我的第一个列表中提取元素file1file2file1file2作为单独的列表。它始终是element [2],但我不理解如何迭代

2 个答案:

答案 0 :(得分:0)

我不确定这是否正是您想要的,但您可以创建一个像这样的文件名列表

import os
list_of_filenames = [os.path.basename(x) for x in list_of_paths]

将产生一个包含[“file1”,“file2”,“file1”......]的列表...

答案 1 :(得分:0)

我找到了解决方案:

# let's first create this function
import os, sys
def splitall(path):
    allparts = []
    while 1:
        parts = os.path.split(path)
        if parts[0] == path:  
            allparts.insert(0, parts[0])
            break
        elif parts[1] == path: 
            allparts.insert(0, parts[1])
            break
        else:
            path = parts[0]
            allparts.insert(0, parts[1])
    return allparts

# then:

cl = []

for i in list:
    cl.append(splitall(i)[1])

# [1] it's the element position