循环 np.load 直到文件索引超过可用文件的索引
loop np.load until file-index exceeds index of available files
我希望使用 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
库允许您查找与给定模式匹配的文件和 return 一个列表,然后您可以对其进行迭代。
例如:
import glob
files = glob.glob(filepath + 'c_l*.npy')
for f in files:
a = np.load(file=f)
layer = np.append(layer, a)
您还可以通过使用列表理解直接创建层来进一步简化它。
我希望使用 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
库允许您查找与给定模式匹配的文件和 return 一个列表,然后您可以对其进行迭代。
例如:
import glob
files = glob.glob(filepath + 'c_l*.npy')
for f in files:
a = np.load(file=f)
layer = np.append(layer, a)
您还可以通过使用列表理解直接创建层来进一步简化它。