零基础学习python-record问题
Traceback (most recent call last):File "E:/python学习_小甲鱼/P30_文件读取与保存.py", line 9, in <module>
(roal,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
这个错误该怎么解决啊 值给少了,他要的是两个值,但是你只给了一个。下面的错误提示有说明 说明你的 each_line 中没有能 字符 “:” 打比方说
a = "asd"
(x, y) = a.split(":", 1)
向上面这样就会报错
因为你只能返回一个数,但你却用两个变量来接受
如果你是要其中的某一个值,用下标好点
x = a.split(":", 1)# # 大马强 发表于 2021-8-3 21:40
说明你的 each_line 中没有能 字符 “:”
可是record文件里确实是有“:”符号,而且全都是英文的,但是还是报错{:5_100:},而且代码和视频上的都一样{:5_100:} 深谙流年 发表于 2021-8-3 21:29
值给少了,他要的是两个值,但是你只给了一个。下面的错误提示有说明
但是每一行上都是有“:“符号的啊 Arthur_Lv 发表于 2021-8-4 09:57
但是每一行上都是有“:“符号的啊
会不会是是中文的":" 中文的:符号
英文的:符号
是不一样的,你再改改代码,换成中文的试试,从上面可以看出 大马强 发表于 2021-8-4 10:51
中文的:符号
英文的:符号
是不一样的,你再改改代码,换成中文的试试,从上面可以看出
试过了
用的都是英文的:
但是运行的时候还是报错 你这个是作业对吧,我去看看 大马强 发表于 2021-8-4 18:11
你这个是作业对吧,我去看看
不是作业,是视频里的例题,《零基础学习python》的P30
先谢谢大佬了! Arthur_Lv 发表于 2021-8-5 08:33
不是作业,是视频里的例题,《零基础学习python》的P30
先谢谢大佬了!
能发下你的完整代码吗? 大马强 发表于 2021-8-5 09:02
能发下你的完整代码吗?
f = open('E://python学习_小甲鱼//record.txt')
boy = []
girl = []
count = 1
for each_line in f:
if each_line[:6] != '=======':
(roal,line_spoken) = each_line.split(':',1)
if roal == '小甲鱼':
boy.append(line_spoken)
if roal == '小客服':
girl.append(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_file.wirtelines(boy)
girl_file.wirtelins(girl)
boy_file.close()
girl_file.close()
boy = []
girl = []
count += 1
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_file.wirtelines(boy)
girl_file.wirtelins(girl)
boy_file.close()
girl_file.close()
f.close()
看了一下视频,感觉你的each_line 应该是“==================”
要不你在你分割前面加上print(each_line)看看,each_line是什么 大马强 发表于 2021-8-5 09:02
能发下你的完整代码吗?
f = open('E://python学习_小甲鱼//record.txt')
boy = []
girl = []
count = 1
for each_line in f:
if each_line[:6] != '=======':
(roal,line_spoken) = each_line.split(':',1)
if roal == '小甲鱼':
boy.append(line_spoken)
if roal == '小客服':
girl.append(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_file.wirtelines(boy)
girl_file.wirtelins(girl)
boy_file.close()
girl_file.close()
boy = []
girl = []
count += 1
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_file.wirtelines(boy)
girl_file.wirtelins(girl)
boy_file.close()
girl_file.close()
f.close()
大马强 发表于 2021-8-5 09:07
看了一下视频,感觉你的each_line 应该是“==================”
要不你在你分割前面加上print(each_line) ...
好办法
hhhh这一次好像可以了,现在已经成功了,谢谢大佬!
页:
[1]