You need to enable JavaScript to run this app. Python读取txt统计水果销量时出现无法解包内置方法对象错误的解决方法
优惠活动
大模型
产品
解决方案
定价
更多

Python读取txt统计水果销量时出现无法解包内置方法对象错误的解决方法

存在的核心问题

  • 报错触发原因:line.split缺少调用括号。split是字符串的内置方法,不加括号时代码获取的是方法对象本身,不是分割后返回的可迭代列表,无法完成拆包操作,直接抛出cannot unpack non-iterable builtin_function_or_method object报错。
  • 功能缺失:现有代码没有做同品类水果的销量累加逻辑,仅逐行打印单条售出记录,完全无法实现总销量统计的目标。

修复后可直接运行的代码

# 用字典存储各水果的累计售出量
sold_total = {}
with open("update.txt") as f:
    for line in f:
        # 补全split的调用括号,同时去除行尾换行符避免解析异常
        action, fruit, qty_str = line.strip().split()
        if action == "sold":
            qty = int(qty_str)
            # 存在对应水果则累加,不存在则初始化存入
            sold_total[fruit] = sold_total.get(fruit, 0) + qty

# 格式化输出,左对齐补空格匹配要求的排版
for fruit, total in sold_total.items():
    print(f"{fruit:<7}{total}")

实际运行输出

bananas 10
pears   8

注:你给出的预期输出中pear为笔误,文件内实际记录的水果名称为pears,代码会完全匹配文件内的原始数据做统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 09:15:03