|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
又报错了,求详解
'''Traceback (most recent call last):
File "C:/Users/admin/AppData/Local/Programs/Python/Python39/30.腌制文件.py", line 40, in <module>
split_file('record.txt')
File "C:/Users/admin/AppData/Local/Programs/Python/Python39/30.腌制文件.py", line 25, in split_file
(role, line_spoken) = each_line.split(':', 1)
ValueError: not enough values to unpack (expected 2, got 1)'''
#小甲鱼源代码
import pickle
def save_file(boy, girl, count):
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
boy_file = open(file_name_boy, 'wb') # 记得一定要加 b 吖
girl_file = open(file_name_girl, 'wb') # 记得一定要加 b 吖
pickle.dump(boy, boy_file)
pickle.dump(girl, girl_file)
boy_file.close()
girl_file.close()
def split_file(file_name):
count = 1
boy = []
girl = []
f = open(file_name)
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:
save_file(boy, girl, count)
boy = []
girl = []
count += 1
save_file(boy, girl, count)
f.close()
split_file('record.txt')
报错是说each_line用":"切片的时候,只得到了一片,不能赋值给两个元素。就是说你的这一行没有这个冒号,导致分组失败,无法得到两个字符串分别赋值给 role 和 line_spoken
查找问题的方向:1、你的txt文件中有多余的空行,一般在文件末尾;2、文件的某一行或某些行的冒号与你的程序中split使用的冒号不一致,很可能是中英文的冒号混用了
你搜索一下论坛,你的这个问题特别普遍
|
|