ファイル名がフォルダにあるか

投稿者: | 2022-07-07
def check_kw_in_filenames(patterns, f_list):
    """

    指定された文言を含むファイルが、指定リスト内のファイルに含まれているか

    --------------------------------------------------
    Args

    patterns : list
        正規表現で表現されたファイル名のリスト
    f_list : list
        特定フォルダに含まれるファイルPATHのリスト

    --------------------------------------------------
    
    Returns : boolean

    --------------------------------------------------

    Example

    >>> patterns = [re.compile(r'.*{}_sample.*.csv'.format(YYMM), re.I), ..., ...]
    >>> f_list = list(dirpath.glob('*'))
    >>> check_kw_in_filenames(patterns, f_list)
    True or False

    --------------------------------------------------

    Notes : appendするTrue/Falseを文字列にしない

    --------------------------------------------------
    
    
    """
    all_results = []
    for p in patterns:
        r = []
        for f in f_list:
            m = p.findall(f.name)
            if m:
                r.append(True)
            else:
                r.append(False)
        all_results.append(any(r))
    return all(all_results)