for each_line in f:
#对获取的这一行进行怕判断
if each_line[:6] != '=====': #判断前六个是否等于'== '
#如果不是等号的我们这里进行字符串分割操作
##接下里可以使用字符串方法split(sep=None,maxsplit=-1)来进行分割操作。
(role,line_spoken) = each_line.split(':',1)
#判断role是谁说的话,如果是小甲鱼,就放到boy列表里
if role == '小甲鱼':
boy.append(line_spoken)
#判断role如果是小客服,就放到girl列表里
if role == '小客服':
girl.append(line_spoken)
报错为: line 29, in <module>
(role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
完整代码:
[Python] 纯文本查看复制代码
f = open('d:/abcd.txt')
##接下来就要把想要的内容存放在一个单独的列表里。比如定义一个列表存放小甲鱼的对话,在定义一个列表存放小客服的对话
#存放小甲鱼的对话
boy = []
#存放小客服
girl = []
###需要一个计算器
count = 1
#
#每次获取他的一行
for each_line in f:
#对获取的这一行进行怕判断
if each_line[:6] != '======': #判断前六个是否等于'== '
#如果不是等号的我们这里进行字符串分割操作
##接下里可以使用字符串方法split(sep=None,maxsplit=-1)来进行分割操作。
(role,line_spoken) = each_line.split(':',1)
#判断role是谁说的话,如果是小甲鱼,就放到boy列表里
if role == '小甲鱼':
boy.append(line_spoken)
#判断role如果是小客服,就放到girl列表里
if role == '小客服':
girl.append(line_spoken)
"""
role:代表角色,比如小甲鱼
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和girl列表里了
#如果要把一个列表里有很多字符串利用序列的方式写入文件。那么该用哪个函数?.writelines(sep)正好符合条件
boy_file.writelines(boy)
girl_file.writelines(girl)
#要记得把文件关闭,不然就是没保存的状态
boy_file.close()
girl_file.close()
#接下里还需要对列表初始化,和计数的加1
boy = []
gril = []
count += 1
"""
如果是等号的话进行文件的分别保存操作。就是当遇到'======'的时候就需要分别保存了。
"""
f.close()
for each_line in f :
if each_line[:6] != '======':
(role, line_spoken) = each_line.split(':',1)
if role == '小甲鱼':
boy.append(line_spoken)
if role == '小客服':
girl.append(line_spoken)