gpt4 book ai didi

Python:根据通用名称标识符对文件名列表进行分组

转载 作者:行者123 更新时间:2023-12-01 04:01:01 26 4
gpt4 key购买 nike

在目录中我有一些文件:

temperature_Resu05_les_spec_r0.0300.0
temperature_Resu05_les_spec_r0.0350.0
temperature_Resu05_les_spec_r0.0400.0
temperature_Resu05_les_spec_r0.0450.0
temperature_Resu06_les_spec_r0.0300.0
temperature_Resu06_les_spec_r0.0350.0
temperature_Resu06_les_spec_r0.0400.0
temperature_Resu06_les_spec_r0.0450.0
temperature_Resu07_les_spec_r0.0300.0
temperature_Resu07_les_spec_r0.0350.0
temperature_Resu07_les_spec_r0.0400.0
temperature_Resu07_les_spec_r0.0450.0
temperature_Resu08_les_spec_r0.0300.0
temperature_Resu08_les_spec_r0.0350.0
temperature_Resu08_les_spec_r0.0400.0
temperature_Resu08_les_spec_r0.0450.0
temperature_Resu09_les_spec_r0.0300.0
temperature_Resu09_les_spec_r0.0350.0
temperature_Resu09_les_spec_r0.0400.0
temperature_Resu09_les_spec_r0.0450.0

我需要一个与 _rXXXX 中具有相同标识符 XXXX 的所有文件的列表。例如,这样的列表将由

组成
temperature_Resu05_les_spec_r0.0300.0
temperature_Resu06_les_spec_r0.0300.0
temperature_Resu07_les_spec_r0.0300.0
temperature_Resu08_les_spec_r0.0300.0
temperature_Resu09_les_spec_r0.0300.0

我事先不知道 XXXX 值是什么,所以我无法迭代它们并像这样进行匹配。我认为这可能最好用正则表达式来处理。有什么想法吗?

最佳答案

是的,正则表达式是一种有趣的方法!它可能看起来像这样:

results = {}
for fname in fnames:
id = re.search('.*_r(.*)', fname).group(1) # grabs whatever is after the final "_r" as an identifier
if id in results:
results[id] += fname
else:
results[id] = [fname]

结果将存储在字典中,results,按 id 索引。

我应该补充一点,只要所有文件名可靠地具有 _rXXXX 结构,这就可以工作。如果文件名有可能与该模式不匹配,您必须检查它并采取相应的措施。

关于Python:根据通用名称标识符对文件名列表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36509890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com