我使用Python,这里有一个不同文件类型的文件名列表。文本文件可能如下所示:
01.txt
02.txt
03.txt
...
假设文本文件都是这样编号的。现在我想得到所有的文本文件,数字从1到25。因此,我想通过GUI提供一个类似%02i.txt
的formatstring,以便识别所有匹配的文件名。你知道吗
到目前为止,我的解决方案是一个嵌套的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²)。所以在很长的名单上可能需要一段时间。有没有更聪明的方法?
嗯,是的,我可以使用像^\d{2}\.txt$
这样的正则表达式,但是带有%
的formatstring更容易键入。你知道吗
迭代文件的一种更为python的方法是使用^{} 模块。你知道吗
可以使用集合:
那么
相关问题 更多 >
编程相关推荐