You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何读取文本文件中的数字并实现累加求和?

Python读取混合格式数字文件累加方案

原代码存在的问题

  • infile.read()会一次性读取整个文件的全部内容,后续循环中再次调用只会返回空字符串,无法逐行获取内容
  • 滥用eval不仅没有必要,还会带来代码注入的安全风险
  • 没有处理一行包含多个空格分隔数字、空行的场景,直接转换为int会直接报错
  • 代码缩进错误,while循环内的逻辑缩进不符合Python语法要求

正确实现代码

sum_total = 0
# 替换为你实际的文件路径
with open("num_file.txt", "r", encoding="utf-8") as infile:
    # 逐行遍历文件
    for line in infile:
        # 去除行首尾空白后按空格分割,得到单个数字字符串列表
        num_str_list = line.strip().split()
        # 空行分割后得到空列表,循环自动跳过,无需额外判断
        for num_str in num_str_list:
            # 用int()直接将数字字符串转换为整数累加
            sum_total += int(num_str)
print("the sum of these numbers is", sum_total)

字符串转整数的说明

你需要的字符串转整数操作直接使用内置函数int()即可实现,只要传入的字符串内容是合法的整数格式(无多余字母、特殊符号),就能直接得到对应的整数类型值参与计算。上述代码先将每行按空格分割为单个数字字符串,再逐个转换,天然适配一行多数字、空行的场景。

内容的提问来源于stack exchange,提问作者benny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 13:27:01