在将这些Matlab指令转换为Python时,我需要一些帮助:
var = [1.222222 2.33333333 3.4444444];
fmt = [repmat(' %1.4e', 1, size(var, 2)), '\n'];
fid = fopen('myfile.txt','w');
fprintf(fid, fmt, var);
fclose(fid);
其中写入文件:
1.2222e+00 2.3333e+00 3.4444e+00
尤其是就repmat而言,我知道我应该使用tile,但不确定如何包括格式。
答案 0 :(得分:2)
在Matlab中,您可以用这种方式格式化整个数组。在Python中,它要简单得多。您可以使用np.savetxt
以单一格式保存整个数组:
var = ...
np.savetxt(file, var, fmt='%14e')
文件可以是文件名或文件句柄。因此,例如,如果要检查输出,只需将第一个参数传入sys.stdout
。