regex Python -使用模块re搜索具有相似模式的文件,

zpjtge22  于 2022-12-24  发布在  Python
关注(0)|答案(1)|浏览(109)

我有一个包含["usc_hhx1", "usc_hhx2", "usc_hhh1", "usc_hhz1", "usc_hhz2]文件的文件夹
我如何编写一个程序来将每个模式("hhx", "hhh", "hhz")匹配到它们的组中?
这是我如何得到我的文件,我需要整理出来。请帮助,谢谢!

import os
import re

usc1 = []
for file in os.listdir("ginsburgdata/USC1/USC1"):
    ############### SORT FILES OUT BASED ON THEIR NAMES HERE ###############
    #### hz_key = re.compile("HHZ")

    usc1.append(os.path.join(os.getcwd(), "ginsburgdata", "usc1", file))

我试着做了一些研究,但我被困在执行

xdyibdwo

xdyibdwo1#

如果我没有理解错的话,您希望按以下模式将文件分组到不同的组中:

import re

files = ["usc_hhx1", "usc_hhx2", "usc_hhh1", "usc_hhz1", "usc_hhz2"]

pat = re.compile(r"hh[xzh]")

groups = {}
for f in files:
    match = pat.search(f)
    if match:
        groups.setdefault(match.group(0), []).append(f)

print(groups)

图纸:

{
  'hhx': ['usc_hhx1', 'usc_hhx2'], 
  'hhh': ['usc_hhh1'], 
  'hhz': ['usc_hhz1', 'usc_hhz2']
}

相关问题