|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码报错
Traceback (most recent call last): 回溯(最近一次调用last):
File "D:\Python\对record进行整理.py", line 10, in <module> Python文件”D: \ \对记录进行整理。,第10行,在中
(role,line_spoken) = each_line.split(':',1) #此处的冒号要与record中使用的冒号一致,否则报错。 (角色,line_spoken) = each_line.split(': ', 1) #此处的冒号要与记录中使用的冒号一致,否则报的错。
ValueError: not enough values to unpack (expected 2, got 1) 值错误:没有足够的值来解包(预期2,得到1)
编写的代码
f = open('record.txt')#如果两个文件根目录相同就可以不使用路径,直接使用文件名
boy = [] #该列表存放小甲鱼的话
girl = [] #该列表存放小客服的话
count = 1 #初始化计算器
for each_line in f:
if each_line[:6] != '======': #进行字符串分割操作(没必要等于整个等号,只要前几个就够了)
#each_line[:6] != '======'此处的等号一定要与each_line[:6]的六个等号一致,否则会报错
(role,line_spoken) = each_line.split(':',1) #此处的冒号要与record中使用的冒号一致,否则报错。
if role == '小甲鱼': #each_line.split(':',1)此处意思为遇到冒号就切片一次
boy.append(line_spoken)
if role == '小客服':
girl.append(line_spoken)
#(role,line_spoken) = each_line.split(':',1)的理解是,用split()对每行进行切片操作,并返回包含两个元素的列表,再将两个元素分别赋值给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_filr = open(file_name_girl,'w')
boy_file.writelines(boy) #写入文件并保存
girl_file.writelines(girl)
boy_file.close() #写完文件后一定要记得将文件关闭
girl_filr.close()
boy = [] #重新定义文件
girl = []
count += 1 #等于count = count + 1
#此时定义的文件名是_2
f.close() #写完文件后一定要记得把文件关闭
|
|