首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从文件中读取浮点数?

如何从文件中读取浮点数?
EN

Stack Overflow用户
提问于 2012-06-15 23:05:41
回答 4查看 48.9K关注 0票数 5

当文件是字符串格式的Python时,我如何打开文件并从文件中读取浮点数?我还想更改每个浮点数的值,并用新的值重写文件。

EN

回答 4

Stack Overflow用户

发布于 2012-06-15 23:09:48

假设每行有一个浮点数:

代码语言:javascript
运行
复制
with open("myfile") as f:
    floats = map(float, f)

# change floats

with open("myfile", "w") as f:
    f.write("\n".join(map(str, floats)))

如果您想对格式进行更多的控制,请使用string的format method。例如,这将在每个句点后仅打印3位数字:

代码语言:javascript
运行
复制
    f.write("\n".join(map("{0:.3f}".format, floats)))
票数 15
EN

Stack Overflow用户

发布于 2012-06-15 23:07:32

"float()“函数接受字符串作为输入,并将其转换为浮点数。

代码语言:javascript
运行
复制
>>> float("123.456")
123.456
票数 4
EN

Stack Overflow用户

发布于 2012-06-15 23:09:07

代码语言:javascript
运行
复制
def get_numbers():
    with open("yourfile.txt") as input_file:
        for line in input_file:
            line = line.strip()
            for number in line.split():
                yield float(number)

然后在你写完后写回它们

和一个较短的版本(未测试,从head编写)

代码语言:javascript
运行
复制
with open("yourfile.txt") as input_file:
    numbers = (float(number) for number in (line for line in (line.split() for line in input_file)))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11053318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档