<p>一般来说,如果只想写内容,就应该遍历数组/列表。你知道吗</p>
<pre><code>zmatrix = np.reshape(matrix, (matsize*matsize, 1))
with open(completeName, "w") as zbfile: # with closes your files automatically
for row in zmatrix:
zbfile.writelines(map(str, row))
zbfile.write("\n")
</code></pre>
<p>输出:</p>
<pre><code>0.00970926751178
0.00985735189176
0.00999792646484
0.0101306077521
0.0102550302672
0.0103708481917
0.010477736974
0.010575394844
0.0106635442315
.........................
</code></pre>
<p>但是使用<code>numpy</code>我们只需要使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tofile.html" rel="nofollow">tofile</a>:</p>
<pre><code>zmatrix = np.reshape(matrix, (matsize*matsize, 1))
# pass sep or you will get binary output
zmatrix.tofile(completeName,sep="\n")
</code></pre>
<p>输出与上述格式相同。你知道吗</p>
<p>在矩阵上调用<code>str</code>将为您提供与您尝试<code>print</code>时得到的类似格式的输出,因此这就是您正在将格式化的截断输出写入文件的内容。你知道吗</p>
<p>考虑到您正在使用python2,使用<code>xrange</code>将比使用rane(创建列表)更有效,也不建议使用冒号分隔多个导入,您可以简单地:</p>
<p><code>import numpy as np, os.path, os</code></p>
<p>变量和函数名也应该使用下划线<code>z_matrix</code>、<code>zb_file</code>、<code>complete_name</code>等。。你知道吗</p>