我使用Python,並有一個不同文件類型的文件名列表。文本文件可能如下所示:如何將Python格式字符串與列表中的元素進行匹配?
01.txt
02.txt
03.txt
...
讓我們假設文本文件都以這種方式編號。現在我想要得到所有文本文件的編號範圍從1到25.所以我想通過GUI提供一個像%02i.txt
這樣的格式字符串來標識所有匹配的文件名。
我到目前爲止的解決方案是嵌套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$
這樣的正則表達式,但使用%
的格式字符串更容易輸入。
恭喜10K! – unutbu 2013-03-17 02:13:39
很好的解決方案。我用這個。 :-) – 2013-03-30 00:12:46