【发布时间】:2019-05-09 03:28:08
【问题描述】:
假设我有一个包含以下项目的文件夹: default.xml df_ak01.1001.jpg df_ak01.1002.jpg df_ak01.1003.jpg df_ak01.1005.jpg df_ak01.1006.jpg
(在这里我们可以看到 df_ak01.1004.jpg 丢失了,如果目录中有数千个文件,很难发现) 该程序应该能够在任何目录和文件名部分上运行 (这里) df_ak01 每次都可以变化。有人可以帮我解决这个问题吗?
我能够获得程序当前正在运行的当前工作目录,如果它们是通用的并且大部分是未知的,我想不出一个逻辑我可以如何归档名称部分。
我刚刚创建了一个正则表达式来搜索名称中包含 df_ak01 的文件并列出它们(但这不是一个好方法)。但是我如何实现查找丢失的图像仍然没有成功。
import os
import re
current = os.getcwd()
#I've just implemented the listing of files that match 'df_ak01'
a = [x for x in os.listdir(current) if re.match('df_ak01.*.jpg',x)]
print a
所以我想得到类似的输出:
1 default.xml
3 df_ak01.%04d.jpg 1001-1003
2 df_ak01.%04d.jpg 1005-1006
【问题讨论】:
-
所有数字的长度是否都为 4 或更多,例如 1001 等等@NirmalKumar
-
是的@DeveshKumarSingh。大部分正好是 4 。
-
嘿@DeveshKumarSingh,我们在这里硬编码'df_ak01',并非在每种情况下都是如此,并且可以在不同的目录之间改变。知道我们如何解决这个问题。
-
只需定义一个目录字典到任何你想要的值,而不是
df_ak01 -
@DeveshKumarSingh 我不明白!你能解释一下吗
标签: python regex python-2.7 formatting string-formatting