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