使用 glob 中的正则表达式查找文件名

Finding file name using regex from glob

我有如下文件的目录。

我想找到文件 test.[8 个随机字母数字字符].js 使用 glob.

何时执行以下操作 returns 两个文件。

from glob import glob

glob(BASEDIR + '/test.*.js')

当我执行以下操作时,它 returns 一个空数组。

from glob import glob

glob(BASEDIR + '/test.[a-zA-Z0-9]{8}.js')

我做错了什么?

正则表达式解决方案:

import os
import re
res=[i for i in os.listdir(BASEDIR) if re.match(r'test\.[a-zA-Z0-9]{8}\.js',i)]
print(res)

注意:解决方案就是文件名,您可以使用

os.join(BASEDIR,res[i])

获取完整路径