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

Python split函数报'too many values to unpack (expected 2)'错误解决咨询

解决按等号拆分时保留含等号的值的问题

你的判断完全正确,就是token值里的第二个等号导致split("=")拆出了3个元素,没法直接解包成name和value两个变量。要保留token的原始值,只需要限制拆分次数,只拆分第一次出现的等号就行,具体改法如下:

修改后的代码:

ice = {}
with open("file_name") as f:
    for line in f:
        line = line.strip()  # 去掉行首尾的空白字符(包括换行符)
        if not line:  # 跳过空行
            continue
        # 只按第一个等号拆分,最多得到两个元素
        name, value = line.split("=", 1)
        # 清理name和value的多余空格、引号
        name = name.strip()
        value = value.strip().strip("'")
        ice[name] = value

关键说明:

  • split("=", 1):第二个参数1表示最多拆分1次,这样不管值里有多少个等号,都会被完整保留在value中。
  • 增加line.strip()和空行判断,能避免空行或首尾空白带来的异常。
  • 最后清理空格和单引号,能让结果更规整,比如处理后ice['token']就是不带引号的纯token值。

用这段代码处理你给出的文件内容后,最终得到的ice字典会是:

{
    'token': 'RFRQLUFVVE8tSUNFOmdHdXBPcWxUU0lUNWpmZ0Q5cGk1ZllqVXk0aUFTN3g3S040asasEE=',
    'version': 'DTP.6.8.353.0.LIVE-17'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:18:35