我目前有一个函数,用于检查数据库作业中是否存在子字符串-名字。那个函数的输入是标准子字符串列表和数据库作业名称列表。你知道吗
import re
substrings = {'archivebackup.b', 'logbackup.b', 'fullbackup.b', 'dailybackup.b'}
joblist=['ora123.archivebackup.b','ora123.logbackup.b','ora123.fullbackup.b','ora123.dailybackup.b']
FIND_FILE = re.compile('|'.join(s for s in substrings))
matches = set()
for job in joblist:
match = FIND_FILE.search(job)
if match:
print(match.group(0), "found")
matches.add(match.group(0))
m=substrings - matches
print("Missing:", substrings - matches)
此功能工作正常,我得到以下o/p:
archivebackup.b found
logbackup.b found
fullbackup.b found
dailybackup.b found
Missing: set()
现在我想修改这个函数,这样它也会获取一个数据库名称列表,并检查每个作业中数据库名称和子字符串的组合,如果缺少任何子字符串,则将o/p作为数据库名称和作业名称。你知道吗
dbname=['ora123','ora456']
我尝试了下面的方法,它在显示丢失的作业方面部分工作正常。你知道吗
FIND_FILE = re.compile('|'.join(s for s in substrings))
FIND_FILE1 = re.compile('|'.join(d for d in dbname))
matches = set()
for db in dbname:
for job in joblist:
match = FIND_FILE1.search(job)
if match:
print(match.group(0), "found")
matches.add(match.group(0))
m=substrings - matches
print("Missing:", substrings - matches)
子字符串和匹配项都具有相同的值,因此使用“-”运算符将产生一个空集。你知道吗
相关问题 更多 >
编程相关推荐