python - float 必须是字符串还是数字?

标签 python type-conversion text-files

我有一个非常简单的程序。代码:

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。

最佳答案

moneyfile 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/

相关文章:

python - 如何使用pyodbc连接到vertica

SQL ORDER 字符数字

c - 如何将字符数组的多个元素转换为整数?

python - 使用变量从 python 中的文本文档读取

sql-server - 使用 SSIS 创建并写入文本文件

python - 为什么调用 pdb.set_trace() 时此测试会崩溃?

python capitalize() 在以空格开头的字符串上

python - 如何将FastAPI请求转发到另一台服务器?

java - 使用泛型方法返回类型、列表

c++ - 从文本文件读取问题?