python:将字符串和数字保存到txt文件

时间:2017-06-26 20:46:58

标签: python

我想将一些字符串和数值打印到txt文件中。输出类似于:

Accuracy: 0.98
Loss: 0.10

我的代码如下:

output_file = open('filepath','w')
output_file.write('Accuracy:\n',0.98)
output_file.write('Loss:\n',0.10)
output_file.close()

但是由于写入功能,他们不会工作" TypeError:函数只需1个参数(2个给定)"

4 个答案:

答案 0 :(得分:1)

您不能将多个字符串传递给write函数。尝试将浮点数转换为字符串并合并:

output_file = open('filepath','w')
output_file.write('Accuracy:\n'+str(0.98))
output_file.write('Loss:\n'+str(0.10))

output_file.close()

答案 1 :(得分:1)

虽然其他答案都是正确的,但最好使用file打开with

with open('file', 'w') as output_file:
    output_file.write('foo')
    output_file.write('bar')
这样,file将在写作完成时自动关闭。

答案 2 :(得分:0)

我错了!我忘了添加%标识符来识别数字。代码应为:

output_file = open('filepath.txt','w')
output_file.write('Accuracy: %1.2f\n' % (0.98,))
output_file.write('Loss: %1.2f\n' %  (0.10,))
output_file.close()

答案 3 :(得分:0)

在Python中编写文本输出代码的最简单方法可能是使用<script> $(document).ready(function($){ $("a").attr("aria-selected","false"); $(" ul li a").addClass("accordion"); $('.accordion').click(function() { if ($(this).attr('aria-selected') == "false") { // Change is here. $(this).attr("aria-selected","true"); } else { $(this).attr("aria-selected", "false"); } }); }); </script> 函数。 (这是Python 3中的一个函数,但在Python 2中是一个声明。)

print

Python 2的等价物是:

print('Accuracy:', 0.98, file=output_file)
print('Loss:', 0.10, file=output_file)

您仍然具有相同的开/关要求。优点是您所知道的关于将文本写入标准输出设备的所有内容都适用于写入文本文件。

一个额外的功能是,如果output_file值为None,则任一版本都将写入标准输出流(如果未重定向,则为控制台/终端),因此您可以非常简单地定义将写入文件或控制台的函数,如:

print >>output_file, 'Accuracy:', 0.98
print >>output_file, 'Loss:', 0.10

然后,用以下任何一个或两个来调用它:

def show_stats(accuracy, loss, file=None):
'''display accuracy and loss on console, or specified file'''
    print('Accuracy:', accuracy, file=file)
    print('Loss:', loss, file=file)