使用 glob 中的正则表达式查找文件名
Finding file name using regex from glob
我有如下文件的目录。
- test.[8 个随机字母数字字符].js
- test.[8 个随机字母数字字符].[10 个随机字母数字字符].js
我想找到文件 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])
获取完整路径
我有如下文件的目录。
- test.[8 个随机字母数字字符].js
- test.[8 个随机字母数字字符].[10 个随机字母数字字符].js
我想找到文件 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])
获取完整路径