def load_log_dirs(self, pattern, negative_pattern=' ', root='./log', **kwargs): dirs = [item[0] for item in os.walk(root)] leaf_dirs = [] for i in range(len(dirs)): if i + 1 < len(dirs) and dirs[i + 1].startswith(dirs[i]): continue leaf_dirs.append(dirs[i]) names = [] p = re.compile(pattern) np = re.compile(negative_pattern) for dir in leaf_dirs: if p.match(dir) and not np.match(dir): names.append(dir) print(dir) return sorted(names)
def get_phrase(self, text): np = re.compile('.*NP') vp = re.compile('.*VP') advp = re.compile('.*ADVP') adjp = re.compile('.*ADJP') pred = None cur = None phrases = [] phrase = "" for t in text: if np.match(t[2]): cur = "NP" elif vp.match(t[2]): cur = "VP" elif advp.match(t[2]): cur = "ADVP" elif adjp.match(t[2]): cur = "ADJP" else: cur = None if pred != None: phrases.append((phrase, pred)) phrase = "" pred = None if cur == pred: phrase = phrase + " " + t[0] elif pred == None: pred = cur phrase = t[0] else: phrases.append((phrase, pred)) pred = cur phrase = t[0] if pred != None: phrases.append((phrase, pred)) return phrases