鱼C论坛

 找回密码
 立即注册
查看: 2699|回复: 5

[已解决]学习29讲:一个任务时遇到一个问题

[复制链接]
发表于 2020-3-12 18:11:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    (role,line_spoken) = each_line.split(':')
ValueError: too many values to unpack (expected 2)
对比视频敲得代码无法运行,提示上述错误,能告诉一下怎么解决吗?
最佳答案
2020-3-12 18:51:28
        这个文件只允许有两种行存在:
1.文本行:行内至少有1个西文的冒号 ':' ;
2.分隔行:开头的 6 个字符    必须是'######' ;
        除了这两种行,如果有第三种行存在(比如空行),那就一定会出错。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-12 18:13:21 | 显示全部楼层
    (role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
刚刚上面写错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:13:24 | 显示全部楼层
把你的文件内容发上来(文本,不是截图)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:51:28 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
        这个文件只允许有两种行存在:
1.文本行:行内至少有1个西文的冒号 ':' ;
2.分隔行:开头的 6 个字符    必须是'######' ;
        除了这两种行,如果有第三种行存在(比如空行),那就一定会出错。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 19:01:34 From FishC Mobile | 显示全部楼层
role = each_line. split[0]
line_spoken=each_line. split[1]
不知道能不能满足你的需求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 19:10:13 From FishC Mobile | 显示全部楼层
str.split(sep=None, maxsplit=-1) 第二个参数代表最大分割数。是1的话最大分割数为2.

maxsplit默认为-1(既不指定maxsplit的值),最大分割。

>>> '1,2,3'.split(',')
['1', '2', '3']
>>> '1,2,3'.split(',', maxsplit=1)
['1', '2,3']
>>> '1,2,,3,'.split(',')
['1', '2', '', '3', '']
后面的1意思是split分裂为两份
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-27 17:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表