我有一个充满非空目录的目录,所有目录都具有相同的前缀,但末尾的编号不同。例如
ABCDE_0003
ABCDE_0005
ABCDE_0007
ABCDE_0009
ABCDE_0011
我想将这些目录名末尾的数字(不包括0的数字)提取到一个列表中,我可以从该列表中调用索引(数字)用于其他自动化目的:
[3,5,7,9,11]
我尝试搜索此问题的解决方案,发现其他人已经为文件名执行了此操作,但没有执行此线程之类的目录:
Extract substring from filename in Python?
也许有与上述线程中提到的方法类似的方法。我考虑了一个可行的解决方案,那就是让脚本将目录名称转换为字符串,然后以这种方式提取数字前缀可能会更容易,但是我也没有找到如何做到这一点。有什么想法吗?
答案 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