循环 np.load,直到文件索引超过可用文件的索引



我希望使用 np.load 从文件夹中读取所有文件,而无需提前指定文件总数。目前,经过几次循环后,索引将超出可用文件的范围,并且代码将终止。

    index = 0
    while True:
        a = np.load(file=filepath + 'c_l' + pc_output_layer + '_s0_p' + str(index) + '.npy')
        layer = np.append(layer, a)
        index += 1

如何继续加载直到发生错误,然后继续运行脚本的其余部分?谢谢!

您可以捕获异常并以这种方式脱离循环,但更"pythonic"的方法是遍历文件名本身,而不是使用索引。

glob库允许您查找与给定模式匹配的文件,并返回一个列表,然后可以对其进行迭代。

例如:

import glob
files = glob.glob(filepath + 'c_l*.npy')
for f in files:
    a = np.load(file=f)
    layer = np.append(layer, a)

您还可以通过使用列表推导直接创建图层来进一步简化它。

最新更新