鱼C论坛

 找回密码
 立即注册
楼主: liuchao2472

[已解决]关于 not enough values to unpack (expected 2, got 1) 这个的错误

[复制链接]
发表于 2018-3-6 11:26:23 | 显示全部楼层
wqamy 发表于 2018-3-6 11:21
方法都试了,还是有错,要疯了

boy1,2,girl1,2都出来了,第三个出不来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-11 09:57:59 | 显示全部楼层
只要是 主人公(海盗,小甲鱼·····) 后面只有一行,就不会报错。
guo.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-25 14:35:03 | 显示全部楼层
当打开文件时,比如对一个文件执行了:readlines() 或者 readline() 那么文件的当前位置偏移就会改变,readlines()是偏移到文件结尾,而readlin()偏移到下一行.
(本代码是因为执行if时,已经执行了readlines(),不成立,又执行else中的readlin())
所以,当这里第二次调用readlines()或者readlin()时,
已经到了文件结尾,读取到的内容为空,所以对空内容取split(':')方法时,当然报错。
因此,这里的最好的解决方法就是在第一次读之前将文件偏移回文件头
方法如下:file.seek(0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-6 23:04:05 | 显示全部楼层
小木目心 发表于 2017-10-15 21:24
加个换行符
each_line = each_line.strip('\n')

果然是这个问题,解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-7 17:46:14 | 显示全部楼层
为什么还是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-7 17:53:15 | 显示全部楼层
抱歉,回复错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-7 17:53:48 | 显示全部楼层

解决了解决了!
    if each_line[:6] != '======':
这一句!就没有人觉得这个条件跟文本区别很大吗?把空格去掉,就正常了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-14 22:41:32 | 显示全部楼层
存在自己编写的txt文件中冒号的中文输入,如果按照视频中的方式来,则改为英文格式下的冒号!
或者将层序中的(role, line_spoken) = each_line.split(':',2) 其中冒号为中输入,而且此时的冒号子字符串,按照中文应该设置为2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-9 15:05:13 | 显示全部楼层
进击的红蚂蚁 发表于 2017-10-7 13:27
我直接从文中复制的":",但是还是出错,求指点您是怎么解决的呢?

文档中有空行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-20 19:55:59 | 显示全部楼层
本帖最后由 医疗兵杰瑞 于 2018-8-20 19:58 编辑

来自B站小甲鱼粉丝   
我是这样解决的,由于split返回值是一个列表,
我先把role去了,然后让line_spoken = each_line.split(':', 1)

print(line_spoken)
得到结果是有很多的['\n']
但是在记事本中看不出来,也无法删除
于是乎,我想到了万能的word
然后CtrlA,CtrlC,CtrlV到word
word像一个照妖镜,瞬间有N多妖孽现出原形(换行符)
删除多余的换行符,粘贴回record.txt就可以了
别忘了将修改过得代码还原成小甲鱼原来的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-15 23:30:30 | 显示全部楼层
土耳其东木白 发表于 2018-6-7 17:53
解决了解决了!
    if each_line[:6] != '======':
这一句!就没有人觉得这个条件跟文本区别很大吗? ...

我的情况和你一样,把== == ==中间的空格去掉了就正常了,具体原因能不能探讨分享一下啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-6 13:55:57 | 显示全部楼层
野狼007 发表于 2018-3-2 15:02
绝对是TXT文件的问题,打开文件,读取看一看换行符号\n有多少个。(我:\n哦\n\n她:我的手套量了吗\n\n)这 ...

为什么有换行就会报错呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-30 14:15:39 | 显示全部楼层
我也是 全都试了...还是报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-31 20:12:24 | 显示全部楼层
喷彩虹的鲸鱼 发表于 2018-10-30 14:15
我也是 全都试了...还是报错

看看原文本文件最后有没有空行,有空行删除。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-31 22:30:05 | 显示全部楼层
我找到我的错误了,看看文档中有没有空行,文档中的空行也不行,文末的空行也不行,之前是这样,把每一段的空格删除后就没有错误了
捕获1.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-1 09:15:59 | 显示全部楼层
过来顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-1 15:29:23 | 显示全部楼层
hcqmas 发表于 2018-10-31 20:12
看看原文本文件最后有没有空行,有空行删除。

谢谢你...我自己找到错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-13 17:45:24 | 显示全部楼层
问题可能出现在:
1、txt文件中的“:”和程序中的“:”不一致
2、存在空白行,尤其是用鼠标检查一下文字的最下方是否有多余的空白行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-26 10:24:26 | 显示全部楼层
首先我是这样的:
我的一开始报错为:txt后缀,后来修改增加txt。解决f = open('test.txt.txt')
第二个问题是:分割那里,出错,跟你发的那个一模一样的,解决为,英文的冒号和中文冒号问题
第三个问题也就是现在的问题,创建后的文本打开为空,没有内容,对你没看错,1,2,3个文本都没有内容。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-26 11:29:41 | 显示全部楼层
哦哦,发现问题解决了,笨死了,原因是忘了写入了boy_file.writelines(boy)
girl_file.writelines(girl)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 13:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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