【问题标题】:Write lines longer than 80 chars in output file [Python]在输出文件中写入超过 80 个字符的行 [Python]
【发布时间】:2010-11-26 15:29:17
【问题描述】:

我有一个非常基本的问题。我正在使用 Python 计算一个 n×12 向量

y = numpy.array([V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12])

我在每次循环计算后附加。

我的问题是当我尝试将其保存到文件或打印时 Python 自动将结果分成三行作为我的 输出通常超过 200 个字符。有没有办法压制 这 80 个字符/行的行为?非常感谢。

【问题讨论】:

  • 显示一些代码。您确定该文件实际上包含换行符,而不是您的终端或您用来查看它的任何东西吗?
  • 好吧......向你展示我是如何得到 y 的非常复杂,但请相信我的话;它是一个包含 12 个元素和 80 多个字符的单行向量。重要的是我打开一个文件,执行 f.write(str(y[:,0]).replace('[','').replace(']', ' ')+'\t'+str (y[:,1]).replace('[','').replace(']', ' ')+.....) 然后关闭它。我的输出(只是数字)显示在 3 行中。
  • 附注不知道这是否有区别,但我正在使用 IDLE。

标签: python file-io numpy


【解决方案1】:

您可以使用numpy.savetxt() 将数组保存到文本文件,同时控制格式。要将其打印到屏幕上,您有不同的选项来控制线宽。一种是打电话

numpy.set_printoptions(linewidth=200)

将线宽设置为更高的值。

【讨论】:

  • 对我来说,在将矩阵打印到控制台时,使用 set_printoptions() 的 linewidth 参数根本没有效果(输出仍然使用“...”省略号格式化(在两个维度上) ))。还有哪些其他选择?
  • @StefanQ 省略号与当前设置的线宽无关。默认情况下,表示中包含的条目数是有限的。这也可以使用set_printoptions() 进行更改。请参阅文档了解详细信息,或提出单独的问题,因为这与此处的此问题完全无关。
猜你喜欢
  • 2015-07-13
  • 2013-01-10
  • 2016-10-12
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 2011-05-01
  • 2011-05-03
相关资源
最近更新 更多