首页 > 解决方案 > 如何从目录中的文件夹名称中提取后缀字符串?(Python)

问题描述

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

ABCDE_0003
ABCDE_0005
ABCDE_0007
ABCDE_0009
ABCDE_0011

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

[3,5,7,9,11]

我已经尝试寻找解决方案,发现其他人已经为文件名做了这个,但不是这个线程中的目录:

从Python中的文件名中提取子字符串?

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

标签: pythonpython-2.7

解决方案


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

推荐阅读