You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将长输出完整打印到文件且不显示省略号?

解决大数组写入TXT时出现省略号的问题

当你将大规模numpy数组转换为字符串时,numpy默认会截断输出以节省空间,这就是文件中出现省略号的原因。可以通过以下几种方式解决:

方法1:全局修改numpy打印选项

在写入文件前,设置numpy的打印阈值为无穷大,确保所有元素都会被完整输出:

import numpy as np

# 配置numpy不截断数组输出
np.set_printoptions(threshold=np.inf)

with open('satinal22.txt', 'w') as f:
  for i in range(len(corpus)):
    f.write(str(final_output[i].toarray()) + '\n')  # 添加换行符让每个样本单独占一行

方法2:使用np.array2string()指定完整输出

如果不想全局修改numpy配置,可以在转换字符串时单独指定参数,仅针对当前数组生效:

with open('satinal22.txt', 'w') as f:
  for i in range(len(corpus)):
    arr = final_output[i].toarray()
    # 转换为无截断的完整字符串
    arr_str = np.array2string(arr, threshold=np.inf)
    f.write(arr_str + '\n')

方法3:使用np.savetxt()直接写入(大规模数据更高效)

针对大规模数据,直接用numpy的savetxt函数写入会更高效,无需循环转换字符串:

# 将稀疏矩阵转换为密集数组
dense_output = final_output.toarray()
# 写入文件,可指定输出格式(例如保留6位小数)
np.savetxt('satinal22.txt', dense_output, fmt='%.6f')

注意:如果数据维度极大,转换为密集数组可能占用较多内存,此时可以考虑逐行写入,或者使用scipy.sparse.save_npz先保存稀疏矩阵(若后续无需纯文本格式)。

内容的提问来源于stack exchange,提问作者Rozzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:36:17