从Python目录中移动最后两集?

2024-04-19 08:54:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我在一个目录中有10个文件,它们的名称是:

N 221
N 222
N 225
N 227
N 228
P 09
P 10
P 11

我能提取出名字(“N”,“p”)和插曲号码。然而,我想不出一个好办法来找出每个系列的最后两集,然后把其余的文件夹移到一个“旧”文件夹。感谢您的帮助。你知道吗


Tags: 文件目录文件夹名称名字号码插曲办法
1条回答
网友
1楼 · 发布于 2024-04-19 08:54:55

我想你有一张单子

episodes = [("N", 221), ("N", 222), ("N", 225), ("N", 227),
            ("N", 228), ("P", 9), ("P", 10), ("P", 11)]

为每个基本名称筛选出最后两集的简单方法是使用itertools.groupby()collections.deque()的组合:

new_episodes = []
for name, it in groupby(episodes, lambda x: x[0]):
    new_episodes.extend(deque(it, maxlen=2))

此代码导致new_episodes

[('N', 227), ('N', 228), ('P', 10), ('P', 11)]

这假设列表episodes已排序。你知道吗

相关问题 更多 >