|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- f = open('dialogue.txt')
- boy = []
- girl = []
- count = 1
- for each_line in f:
- if each_line[:5] != '======':
- (role,talk) = each_line.split(':',1)
- if role == '小甲鱼':
- boy.append(talk)
- else:
- girl.append(talk)
- else:
- file_boy_name = 'boy_' + count + '.txt'
- file_girl_name = 'girl_' + count + '.txt'
-
- #打开文件
- file_boy = open(file_boy_name,'w')
- file_girl = open(file_girl_name,'w')
- #写入文件
- file_boy.writelines(boy)
- file_girl.writelines(girl)
- #关闭文件
- file_boy.close()
- file_girl.close()
- count +=1
- f.close()
复制代码
运行报错:
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\python\draft.py", line 8, in <module>
(role,talk) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
dialogue文件内容如下:
小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。。
==============================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:“有了小甲鱼,以后妈妈再也不用担心我的学习了~”
小甲鱼:哈哈哈,我看到了,我还发微博了呢~
===============================================
小客服:小甲鱼,今天有个会员找你。
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12K了!!
小甲鱼:哪里的?
小客服:上海的。
我实在弄不懂哪里出错了
- each_line[:5] != '======':
复制代码
:5得到的结果是'====='
只有5个等号,而你等于的是6个等号,永远都不等。所以等号行也会执行下面的代码,实际上无法split,导致程序出错。
另外,这个文档里面的冒号和等号都直接复制出来用最好,否则也可能出错。
|
|