我有一组文件名如下:
qd-p64-dZP-d64-z8-8nn.q
qd-p8-dPZ-d8-z1-1nn.q qq-p8-dZP-d8-z1-2nn.q
qd-p8-dPZ-d8-z1-2nn.q qq-p8-dZP-d8-z1-4nn.q
qd-p8-dPZ-d8-z1-4nn.q qq-p8-dZP-d8-z16-1nn.q
qd-p8-dPZ-d8-z16-1nn.q qq-p8-dZP-d8-z16-2nn.q
qd-p8-dPZ-d8-z16-2nn.q qq-p8-dZP-d8-z16-4nn.q
qd-p8-dPZ-d8-z16-4nn.q qq-p8-dZP-d8-z16-8nn.q
qd-p8-dPZ-d8-z16-8nn.q qq-p8-dZP-d8-z1-8nn.q
qd-p8-dPZ-d8-z1-8nn.q qq-p8-dZP-d8-z2-1nn.q
qd-p8-dPZ-d8-z2-1nn.q qq-p8-dZP-d8-z2-2nn.q
qd-p8-dPZ-d8-z2-2nn.q qq-p8-dZP-d8-z2-4nn.q
qd-p8-dPZ-d8-z2-4nn.q qq-p8-dZP-d8-z2-8nn.q
qd-p8-dPZ-d8-z2-8nn.q qq-p8-dZP-d8-z32-1nn.q
qd-p8-dPZ-d8-z32-1nn.q qq-p8-dZP-d8-z32-2nn.q
qd-p8-dPZ-d8-z32-2nn.q qq-p8-dZP-d8-z32-4nn.q
qd-p8-dPZ-d8-z32-4nn.q qq-p8-dZP-d8-z32-8nn.q
qd-p8-dPZ-d8-z32-8nn.q qq-p8-dZP-d8-z4-1nn.q
qd-p8-dPZ-d8-z4-1nn.q qq-p8-dZP-d8-z4-2nn.q
qd-p8-dPZ-d8-z4-2nn.q qq-p8-dZP-d8-z4-4nn.q
要迭代的信息在文件名中给出,例如:
修复
dZP, 1nn, z2,
和变化
d
有价值观
{d8, d16, d32 d64}
然后,增加z值以获得
dZP, 1nn, z4
又变了一次
{d8, d16, d32 d64}
一旦我能够像这样迭代,我需要从文件中做一些信息处理。你知道吗
看起来对发电机来说是个不错的任务。我只是为d、z和n做了这项工作,但应该很容易推广到所有文件名字段:
你可以这样做。这可能不完全是你想要的,因为你把一些重要的细节从你的问题中漏掉了,但是我试着用一种方式来写它,让你可以根据你真正想要的来做必要的改变。你知道吗
简而言之,它所做的就是使用
re
模块将每个文件名分解为“字段”,每个字段中都有数字值。这些值被分配给一个临时字典,该字典随后用于创建具有所需字段优先级的值的namedtuple
。文件名的其他部分将被忽略。你知道吗可以使用
os.listdir()
或glob.glob()
从文件系统获取初始文件名列表。你知道吗列表中文件名的结果顺序:
相关问题 更多 >
编程相关推荐