numpy数组打印到文件中,不需要包装

时间:2014-04-04 13:33:54

标签: python numpy

我有很多冗长的向量,如下所示:

a = np.array([ 57.78307975,  80.69239616,  80.9268784,   62.03157284,  61.57220483,  67.99433377,  68.18790282])

当我将其打印到文件中时:

outfile.write(str(a))
# or
outfile.write(np.array_str(a))

它自动包裹一行的中间部分,它使向量占据两行:

[ 57.78307975  80.69239616  80.9268784   62.03157284  61.57220483
  67.99433377  68.18790282]

包装线的宽度为66.我不确定此值是否与终端屏幕的宽度有关。

我只想看一个矢量打印成一行。我该怎么做?

1 个答案:

答案 0 :(得分:8)

这应该以便宜的方式解决它:

outfile.write(str(a).replace('\n', ''))

或者你可以使用

np.array2string(a, max_line_width=np.inf)

至于你的"为什么"评论,请查看np.set_printoptions(和get_printoptions),特别是'linewidth'配置值。您可以通过更改该值来保持行为。