如何在 for 循环中独立于循环迭代命名文件

How to name a file in a for loop separately from loop iterations

我有一个包含 size=(100,600,600) 的数组,我想将其拆分为 4 (25,600,600) 个数组,并使用名称 ldx1, ldx2, ldx3 and, ldx4 将它们保存在 n 文件夹中,如下所示。

文件夹 1:ldx1、ldx2、ldx3 和 ldx4

文件夹 2:ldx1、ldx2、ldx3 和 ldx4

文件夹 n:ldx1、ldx2、ldx3 和 ldx4

我的代码只保存所有文件夹中的第一个文件,即 ldx1。请参阅下面的尝试:


import numpy as np
import scipy.io

num_folders = 10
count=0

for i in range(num_folders):
   x=np.random.randint(0,1,size=(100,600,600))
   x_ = x[i:i+25,:]    
   count+=1
   scipy.io.savemat('fig/%d/ldx%d.mat' % (i,count),  mdict={'my_list':x_},do_compression=True) 

你需要两个循环:

import numpy as np
import scipy.io

num_folders = 10

for i in range(num_folders):
   x = np.random.randint(0,1,size=(100,600,600))
   for j in range(4):
       scipy.io.savemat(
           'fig/%d/ldx%d.mat' % (i,j),
           mdict={'my_list':x[j*25:j*25+25,:,:]},
           do_compression=True
        )