我有一个非常简单的程序。代码:
money = open("money.txt", "r")
moneyx = float(money)
print(moneyx)
文本文件 money.txt 仅包含以下内容:
0.00
我收到的错误信息是:
TypeError: float() argument must be a string or a number
这很可能是一个简单的错误。有什么建议吗?我正在使用 Python 3.3.3。
最佳答案
money
是 file
object ,不是文件的内容。要获取内容,您必须读取
文件。如果整个文件只包含一个数字,那么 read()
就是您所需要的。
moneyx = float(money.read())
否则你可能想使用 readline()
阅读一行甚至尝试 csv
用于更复杂文件的模块。
此外,不要忘记 close()
完成后关闭文件,或使用 with
关键字让它自动关闭。
with open("money.txt") as money:
moneyx = float(money.read())
print(moneyx)
关于python - float 必须是字符串还是数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30531766/