提取文件内容里参数够却提示参数不够求解
本帖最后由 蚂蚁绊大象 于 2018-4-8 09:39 编辑各位大神,就像图中那样总是提示缺少一个参数,可是参数两个够了还报错,作为菜鸟,实在是搞不懂了,求解。谢谢鱼油们
f=open("record.txt")
boy=[]
girl=[]
count=1
#把各自的对话内容提取分开
for each_line in f:
if each_line[:5] != "=====":
(role,line_spoken) = each_line.split(':',1)#split(sep=None,maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串
if role =="小甲鱼":
boy.append(line_spoken)
if role =="小客服":
girl.append(line_spoken)
#下面是给各自创建一个文件然后把上面分好的对话内容分别装进去
else:
file_name_boy="boy_" +str(count) + ".txt"
file_name_girl="girl_" +str(count) + ".txt"
boy_file=open(file_name_boy,"w")
girl_file=open(file_name_girl,"w")
boy_file.writelines(boy) #writeline(seq) 向文件写入字符串seq,seq应该是一个返回字符串的可迭代对象
girl_file.writeline(girl)
boy=[]
girl=[]
count+=1
boy_file.close()
girl_file.close()
f.close()
一种可能是文件中有空行 BngThea 发表于 2018-4-7 22:36
一种可能是文件中有空行
文件里面的空行改了以后还是不行,报同样的错误 蚂蚁绊大象 发表于 2018-4-7 22:42
文件里面的空行改了以后还是不行,报同样的错误
你在第一个if下面用print打印一下each BngThea 发表于 2018-4-8 08:13
你在第一个if下面用print打印一下each
不行啊,结果还是报原来的错误。 蚂蚁绊大象 发表于 2018-4-8 09:22
不行啊,结果还是报原来的错误。
我的意思是你看一下每一次执行的时候看看each_line的内容是什么,这里报错就是因为each_line这个字符串不能被分割 BngThea 发表于 2018-4-8 09:30
我的意思是你看一下每一次执行的时候看看each_line的内容是什么,这里报错就是因为each_line这个字符串不 ...
我把内容粘上去了还有要提取的文件,因为刚开学,太笨了,帮忙改下呗,谢谢了{:5_109:} 蚂蚁绊大象 发表于 2018-4-8 09:42
我把内容粘上去了还有要提取的文件,因为刚开学,太笨了,帮忙改下呗,谢谢了
看了一下,应该是你的文件中的冒号都是中文的,你用spilt分割的时候也要用中文的冒号 蚂蚁绊大象 发表于 2018-4-8 09:42
我把内容粘上去了还有要提取的文件,因为刚开学,太笨了,帮忙改下呗,谢谢了
还有一处错误,writelines不能写成writeline split里面的逗号是不是英文的 BngThea 发表于 2018-4-8 10:41
看了一下,应该是你的文件中的冒号都是中文的,你用spilt分割的时候也要用中文的冒号
这样是不会报错的
页:
[1]