|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 xiangyuebj 于 2020-3-2 15:02 编辑
- f = open('e:\\record.txt')
- boy = []
- girl = []
- cout = 1
- 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)
-
-
- else:
- # 文件保存操作
- file_name_boy = 'boy_' + str(cout) + '.txt'
- file_name_girl = 'girl_' + str(cout) + '.txt'
- boy_file = open(file_name_boy,'w')
- girl_file = open(file_name_girl,'w')
- boy_file.writelines(boy)
- girl_file.writelines(girl)
- boy = []
- girl = []
- cout += 1
- f.close()
复制代码
我的这段代码为什么会报错
role,line_spoken = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
role,line_spoken = each_line.split(':',1)
在百度上查,有人说是这个冒号输成中文的冒号了。
这里的冒号我就怕中英文搞混了,特意在TXT文件里复制过来的
不是这个冒号的问题。
我这里表示没有报错,只是最后的close写错了
这段代码试试?
- f = open('C:\\Users\\rzzl\\record.txt', 'w+')
- boy = []
- girl = []
- cout = 1
- 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)
-
-
- else:
- # 文件保存操作
- file_name_boy = 'boy_' + str(cout) + '.txt'
- file_name_girl = 'girl_' + str(cout) + '.txt'
- boy_file = open(file_name_boy,'w')
- girl_file = open(file_name_girl,'w')
- boy_file.writelines(boy)
- girl_file.writelines(girl)
- boy = []
- girl = []
- cout += 1
- f.close()
复制代码
|
|