我使用 Python,并且有一个不同文件类型的文件名列表。文本文件可能如下所示:
01.txt
02.txt
03.txt
...
让我们假设文本文件都以这种方式编号。现在我想获取数字从 1 到 25 的所有文本文件。所以我想%02i.txt
通过 GUI 提供一个格式字符串,以识别所有匹配的文件名。
到目前为止,我的解决方案是嵌套for
循环。外循环遍历整个列表,内循环对每个文件从 1 计数到 25:
fmt = '%02i.txt'
for f in files:
for i in range(1, 25+1):
if f == fmt % i:
# do stuff
这个嵌套循环看起来不是很漂亮,复杂度是O(n²)。因此,在很长的列表上可能需要一段时间。有没有更聪明/pythonic的方式来做到这一点?
嗯,是的,我可以使用像 一样的正则表达式^\d{2}\.txt$
,但是格式字符串%
更容易输入。