Python 如何将浮点数写入文本文件?(蟒蛇3)

Python 如何将浮点数写入文本文件?(蟒蛇3),python,python-3.x,Python,Python 3.x,我是Python3的新手,我已经开始编写一个程序。这是一个金融计算器。我正在使用浮点数(美元和美分)。我有一个单独的.txt文档(history.txt),程序在整个代码中都引用了它。首先要做的事情之一是把用户的钱存到一个文本文件中 我尝试使用file.write()命令,但它说参数必须是str,而不是float 导入操作系统 现金=浮动(输入(“您赚了多少现金?”) 历史=打开(“history.txt”,“w+”) 如果os.stat(“history.txt”).st_size==0: 历

我是Python3的新手,我已经开始编写一个程序。这是一个金融计算器。我正在使用浮点数(美元和美分)。我有一个单独的.txt文档(history.txt),程序在整个代码中都引用了它。首先要做的事情之一是把用户的钱存到一个文本文件中

我尝试使用file.write()命令,但它说参数必须是str,而不是float

导入操作系统
现金=浮动(输入(“您赚了多少现金?”)
历史=打开(“history.txt”,“w+”)
如果os.stat(“history.txt”).st_size==0:
历史。写(现金)
这是我收到的错误

TypeError:write()参数必须是str,而不是float


您可以从字符串中使用
格式

import os
cash = float(input("How much cash did you earn?"))
history = open("history.txt","w+")
if os.stat("history.txt").st_size == 0:
    history.write("%f\n" % cash)
另外,请尝试以这种方式处理您的文件:

with open("history.txt", 'a') as f:
    f.write("line to append to file")
导入操作系统
现金=浮动(输入(“您赚了多少现金?”)
历史=打开(“history.txt”,“w+”)
如果os.stat(“history.txt”).st_size==0:
历史记录。书写(str(现金))
历史。结束()

要转换为字符串,只需使用
str
。这很有效。我最后只是说
f.write(“%f\n”%cash)
。但是,它仅输出到文本框的第一行并替换它。我试图让它一行接一行地记录,而不是仅仅替换它。您还可以探索格式化的其他可能性。