使用 for 循环将列表拆分为子列表

问题描述

我有一个通过 pathlib.glob() 得到的文件列表。在该列表中,我需要根据扩展名分块使用它们(首先是 .1,然后是 .2 等)。

我只能显示第一组文件,之后我不断得到空列表。我知道我可以通过改变我的初始 glob 来解决这个问题,但我没有看到这个问题的事实意味着我不明白某些东西是如何工作的,我需要一些帮助来解决它。

这是我第一次尝试使用列表理解:

Import sys,os
from pathlib import Path
folder = Path(os.getcwd())
files = folder.glob('*dat*')
for i in range(4):
    extension = '*.'+str(i+1)
    cat = [x for x in files if x.match(extension)]
    print(cat)

打印 [带有 .1] [] [] [] 的文件

我使用过滤器得到相同的输出

for i in range(4):
        extension = '.'+str(i+1)
        cat = list(filter(lambda x:str(x).endswith(extension),files))

显然我遗漏了一些东西,但我不知道是什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)