在用glob导入的文件列表中选择文件

2024-10-02 04:20:59 发布

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

我正在用glob导入文件列表,代码如下:

fileList = glob.glob('./final_clim/*.shp')

然后,我需要通过选择某些文件并通过这些文件运行一个循环。我尝试过编辑字符串或使用列表理解,但我有两个在文件名的数字集,不能解决如何做到这一点。文件名示例如下:

格拉14\u eco\u 23\u clim\u 23

格拉14\u eco23\u clim\u 24

格拉14\u eco24\u clim\u 23

所以我需要所有的'eco23'文件组合在一起,以便运行一些代码,然后'eco24',但我有数百个'ecos',所以不能只是手动拆分。你知道吗

我试过:

for file in fileList:
    eco = [f for f in fileList if ("eco_23", f)

我试过使用关于芬德尔但不能完全解决

我也尝试过:

for file in fileList:
    hd, tl = path.split(file)
    name = tl.replace('gla14_eco_', "") etc..

我好像不知道怎么做。我可以用dict把最后两个数字替换成字母,这样更容易些?有人能帮忙吗?你知道吗


Tags: 文件代码in列表for文件名数字glob
2条回答

我相信你的理解需要修正。你知道吗

for i in range(0,825):
    eco = [f for f in fileList if 'eco_'+str(i)+'_' in f]

如果你知道所有的eco23等,你可以循环使用:

for i in range(0,825):
    fileList = glob.glob('./final_clim/*eco_'+str(i)+'*.shp')

相关问题 更多 >

    热门问题