wqamy 发表于 2018-3-6 11:26:23

wqamy 发表于 2018-3-6 11:21
方法都试了,还是有错,要疯了

boy1,2,girl1,2都出来了,第三个出不来

Guoxinyu 发表于 2018-3-11 09:57:59

只要是 主人公(海盗,小甲鱼·····) 后面只有一行,就不会报错。

jarryzikaros 发表于 2018-3-25 14:35:03

当打开文件时,比如对一个文件执行了:readlines() 或者 readline() 那么文件的当前位置偏移就会改变,readlines()是偏移到文件结尾,而readlin()偏移到下一行.
(本代码是因为执行if时,已经执行了readlines(),不成立,又执行else中的readlin())
所以,当这里第二次调用readlines()或者readlin()时,
已经到了文件结尾,读取到的内容为空,所以对空内容取split(':')方法时,当然报错。
因此,这里的最好的解决方法就是在第一次读之前将文件偏移回文件头
方法如下:file.seek(0)

andyandy20000 发表于 2018-4-6 23:04:05

小木目心 发表于 2017-10-15 21:24
加个换行符
each_line = each_line.strip('\n')

果然是这个问题,解决了

土耳其东木白 发表于 2018-6-7 17:46:14

{:10_266:}为什么还是不行

土耳其东木白 发表于 2018-6-7 17:53:15

抱歉,回复错了

土耳其东木白 发表于 2018-6-7 17:53:48

土耳其东木白 发表于 2018-6-7 17:46
为什么还是不行

解决了解决了!
    if each_line[:6] != '======':
这一句!就没有人觉得这个条件跟文本区别很大吗?把空格去掉,就正常了

烟雨穿林 发表于 2018-6-14 22:41:32

存在自己编写的txt文件中冒号的中文输入,如果按照视频中的方式来,则改为英文格式下的冒号!
或者将层序中的(role, line_spoken) = each_line.split(':',2) 其中冒号为中输入,而且此时的冒号子字符串,按照中文应该设置为2

大傻子 发表于 2018-8-9 15:05:13

进击的红蚂蚁 发表于 2017-10-7 13:27
我直接从文中复制的":",但是还是出错,求指点您是怎么解决的呢?

文档中有空行

医疗兵杰瑞 发表于 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就可以了
别忘了将修改过得代码还原成小甲鱼原来的代码

Sammerose 发表于 2018-9-15 23:30:30

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

我的情况和你一样,把== == ==中间的空格去掉了就正常了,具体原因能不能探讨分享一下啊?

月光沙漠 发表于 2018-10-6 13:55:57

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

为什么有换行就会报错呢?

喷彩虹的鲸鱼 发表于 2018-10-30 14:15:39

我也是 全都试了...还是报错

hcqmas 发表于 2018-10-31 20:12:24

喷彩虹的鲸鱼 发表于 2018-10-30 14:15
我也是 全都试了...还是报错

看看原文本文件最后有没有空行,有空行删除。

Qi-boy 发表于 2018-10-31 22:30:05

我找到我的错误了,看看文档中有没有空行,文档中的空行也不行,文末的空行也不行,之前是这样,把每一段的空格删除后就没有错误了

考拉熊 发表于 2018-11-1 09:15:59

过来顶一下

喷彩虹的鲸鱼 发表于 2018-11-1 15:29:23

hcqmas 发表于 2018-10-31 20:12
看看原文本文件最后有没有空行,有空行删除。

谢谢你...我自己找到错误了

HaoHaoXueXiO 发表于 2018-11-13 17:45:24

问题可能出现在:
1、txt文件中的“:”和程序中的“:”不一致
2、存在空白行,尤其是用鼠标检查一下文字的最下方是否有多余的空白行

阿飞的小蝴蝶呵 发表于 2018-11-26 10:24:26

首先我是这样的:
我的一开始报错为:txt后缀,后来修改增加txt。解决f = open('test.txt.txt')
第二个问题是:分割那里,出错,跟你发的那个一模一样的,解决为,英文的冒号和中文冒号问题
第三个问题也就是现在的问题,创建后的文本打开为空,没有内容,对你没看错,1,2,3个文本都没有内容。

阿飞的小蝴蝶呵 发表于 2018-11-26 11:29:41

哦哦,发现问题解决了,笨死了,原因是忘了写入了boy_file.writelines(boy)
girl_file.writelines(girl)
页: 1 [2] 3 4
查看完整版本: 关于 not enough values to unpack (expected 2, got 1) 这个的错误