我需要获取所有带有数字名称的文本文件:1.txt, 2.txt, 13.txt
是否可以使用glob
?
import glob
for file in glob.glob('[0-9].txt'):
print(file)
不返回13.txt。
并且似乎没有正则表达式的一个或多个+
运算符。
我该怎么办?
答案 0 :(得分:2)
来自TFM:
没有进行波浪线扩展,但表示了* ,?和字符范围 与[]将正确匹配
所以,不,正则表达式中没有+
个运算符。您可以使用glob
作为第一遍(如glob('*.txt')
),并使用regex
进一步过滤。
答案 1 :(得分:1)
我不认为glob()
是可自定义的。您可能想要尝试os.listdir()
:
import os,re
for f in os.listdir("/path/to/dir"):
if re.match(r"^\d+\.txt$", f):
print(f)