|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
执行路径下有如下字符串,uvm_scratch_work_portlink_test_03_20_2025_13_57_45___RTL ,uvm_scratch_spd_lfb_03_20_2025_14_30_05___RTL, python负责匹配上述字符串。 代码如下:
#!/usr/bin/python3
import os
import re
import subprocess
without_mdl_module_name=['spd_lfb','work']
cur_dir = '.'
covered_dirs = []
cover_dir = "./coverage"
process=[]
cover_log = "**************This is collect coverage log file for ./scripts/collect_codecov.py****************\n"
def gen_without_mdl_vdb_file(path,name):
for item in os.listdir(path):
#print(item)
if name in item:
pattern = r'uvm_scratch_[a-z]+[0-9]*(_[a-z]+){0,2}_\d+_\d+_\d+_\d+_\d+_\d+___RTL$'
#pattern = r'^uvm_scratch_{}.*?_\d+_\d+_\d+_\d+_\d+_\d+___RTL$'.format(re.escape(name))
match_pat = re.match(pattern,item)
print('match_pat:',match_pat)
for name in without_mdl_module_name:
print('Collect code coverage without mdl module:',name)
gen_without_mdl_vdb_file(cur_dir,name)
运行上述代码, 输出结果为:
Collect code coverage without mdl module: spd_lfb
match_pat: <_sre.SRE_Match object; span=(0, 45), match='uvm_scratch_spd_lfb_03_20_2025_14_30_05___RTL'>
Collect code coverage without mdl module: work
match_pat: <_sre.SRE_Match object; span=(0, 56), match='uvm_scratch_work_portlink_test_03_20_2025_13_57_4>
为什么对字符串 uvm_scratch_work_portlink_test_03_20_2025_13_57_45___RTL 匹配结果为 match='uvm_scratch_work_portlink_test_03_20_2025_13_57_4 ? 没有匹配全是怎么回事? |
|