Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用嵌套循环索引作为文件名将文件保存到pickel_Python_Matlab - Fatal编程技术网

Python 使用嵌套循环索引作为文件名将文件保存到pickel

Python 使用嵌套循环索引作为文件名将文件保存到pickel,python,matlab,Python,Matlab,我正在把我的代码从matlab转换成python。在matlab中保存我的变量,我通常这样做 for i =1:4 for j=1:3 save(['data_',int2str(i),'_' int2str(j)'.mat'],'var1', 'var2' ) end end 所以最后我有了像这样的文件:data_1_1,data_1_2等等 如何修改下面的代码,使其具有类似的命名约定 import pickle Tests = 5 data = {} for i

我正在把我的代码从matlab转换成python。在matlab中保存我的变量,我通常这样做

for i =1:4
    for j=1:3
      save(['data_',int2str(i),'_' int2str(j)'.mat'],'var1', 'var2' )
    end
end
所以最后我有了像这样的文件:data_1_1,data_1_2等等

如何修改下面的代码,使其具有类似的命名约定

import pickle
Tests = 5
data = {}
for i in range(Tests):
   for j in range(4)
    data['r'] = 5
    data['m'] = 500
    data['n'] = 500
    data['X'] = np.random.rand(data['m'],data['n'])
    data['Y'] = np.random.rand(data['m'],data['n'])
    with open('data{}.pickle'.format(i), 'wb') as f:
        pickle.dump(data, f)
我想将我的pickle保存为数据\u 1\u 2等


救命啊!我是python新手。谢谢

使用
open('data{}{}.pickle'.format(i+1,j+1),'wb')
你能告诉我为什么我们要使用i+1或j+1,因为它是一个for循环,不应该自动执行增量吗?Python使用基于0(零)的索引,而matlab基于1。所以在Python中:
list(范围(4))==[0,1,2,3]
。这个页面有很多关于从matlab转换到Python和NumPy的信息:非常感谢。如果你有时间,你能看看这个简短的问题吗?