如何用python将计算结果写入文件?

2024-10-01 11:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读取一个文件后进行一些计算,并希望将结果(单个数字)存储到另一个文件中。我想以后能处理这个文件。我在将结果存储到文本文件中时遇到问题。

我试过这个:

    c = fdata_arry[:,2]*fdata_arry[:,4] 
    d = np.sum(c)
    print d
    f = open('test','w')
    f.write(d) 
    f.close()

这就给了我行f.write(d)的这个错误:

Non-character array cannot be interpreted as character buffer

我也尝试过使用np.savetxt('test.dat',d),但这给了我:

IndexError: tuple index out of range

知道怎么解决这个问题吗?注意d只是一个值,它是几个数字的和。


Tags: 文件testclose错误np数字openwrite
3条回答

write需要一个编码字节数组。

如果仍在编写Python 2,则可以使用f.write('{:d}\n'.format(d))

在Python 3中,您可以改用cleanerprint(d, file=f)

在写之前试着把d转换成一个字符串。

with open('test.txt', 'w') as f:
    f.write(str(d))

还要注意^{}上下文管理器的使用,这是打开文件时始终使用的良好实践。

要写入文件,python需要的是字符串或字节,而不是数字。尝试:

f.write('%s' % d)

或者

f.write('{}'.format(d))

另一方面,如果要将numpy数组写入文件,然后将其作为numpy数组读回,请使用pickle模块。

相关问题 更多 >