python - 如何从目录中的文件夹名称中提取后缀字符串?(Python)
问题描述
我有一个充满非空目录的目录,所有目录都具有相同的前缀,但末尾的数字不同。例如
ABCDE_0003
ABCDE_0005
ABCDE_0007
ABCDE_0009
ABCDE_0011
我想将这些目录名称末尾的数字(不包括 0)提取到一个列表中,我可以从中调用索引(数字)以用于其他自动化目的:
[3,5,7,9,11]
我已经尝试寻找解决方案,发现其他人已经为文件名做了这个,但不是这个线程中的目录:
也许有与上述线程中提到的方法类似的方法。我认为一个合理的解决方案可能是让脚本将目录名称转换为字符串,然后以这种方式提取数字前缀可能更容易,但我也没有找到如何做到这一点。有任何想法吗?
解决方案
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
推荐阅读
- java - 无法读取架构文档 http://www.springframework.org/schema/beans/spring-context.xsd
- python - 检索正则表达式完全匹配
- mysql - 如果 int 等于,则 MySQL 查询结果为指定字符串
- regex - 使用 sed 修剪标准输出的开头
- php - Stripe webhook:可以获取事件 ID 但不能输入
- c# - 如何修复上下文无法声明在 startup.cs 中配置 CookiePolicyOptions 的问题?
- sapui5 - 如何在我的对话列表中访问 JSON 模型中的值?
- html - 是否可以使用 % 图像而不是像素来制作弹性框?
- mongoose - Mongoose 没有将数据保存到数据库中
- r - R - 反斜杠转义问题