如何从目录中的文件夹名称中提取后缀字符串? (蟒蛇)

时间:2018-07-18 04:08:11

标签: python python-2.7

我有一个充满非空目录的目录,所有目录都具有相同的前缀,但末尾的编号不同。例如

ABCDE_0003
ABCDE_0005
ABCDE_0007
ABCDE_0009
ABCDE_0011

我想将这些目录名末尾的数字(不包括0的数字)提取到一个列表中,我可以从该列表中调用索引(数字)用于其他自动化目的:

[3,5,7,9,11]

我尝试搜索此问题的解决方案,发现其他人已经为文件名执行了此操作,但没有执行此线程之类的目录:

Extract substring from filename in Python?

也许有与上述线程中提到的方法类似的方法。我考虑了一个可行的解决方案,那就是让脚本将目录名称转换为字符串,然后以这种方式提取数字前缀可能会更容易,但是我也没有找到如何做到这一点。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

import os

all_list = os.listdir('.')
numbers = list(
    map(lambda x: int(x[6:]), filter(lambda x: os.path.isdir(x) and x.startswith("ABCDE_"), all_list))
)
# python3
print(numbers)
# python2
print numbers