关于 not enough values to unpack (expected 2, got 1) 这个的错误
大家好, 老是遇到这个错误,问题究竟在哪里啊这个是代码:
f = open ("f:\\record.txt")
boy=[]
girl=[]
count =1
for each_line in f:
if each_line[:6] != '=======':
(role,line_spoken) = each_line.split(':',1)
print(role,line_spoken)
if role== '海盗' :
boy.append(line_spoken)
if role== '小不点' :
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.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_filr.close()
boy=[]
girl=[]
count+=1
f.close()
感觉和视频的一样,结果总是报错
Traceback (most recent call last):
File "F:/python.save/file.py", line 9, in <module>
(role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
这是森么原因啊,求帮助 程序要求将读取的每行以 : 为界分为两部分,如果找不到 : 就会报错。可能是record.txt文件中误写成中文冒号了 冬雪雪冬 发表于 2016-3-11 20:29
程序要求将读取的每行以 : 为界分为两部分,如果找不到 : 就会报错。可能是record.txt文件中误写成中文冒号 ...
恩恩 找了好久 就是record.txt 的文件的问题。 多谢啊 我遇到和楼主一样的问题,请问最后楼主是怎么解决的
小花朵朵sky55 发表于 2016-10-19 22:25
我遇到和楼主一样的问题,请问最后楼主是怎么解决的
如果檔案中有空白的行也會報錯 我也是一直出现这个问题,但我确实是用中文冒号啊{:10_269:} 我也是这个报错,f = open('E:/test.txt')
boy =[]
girl =[]
count = 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(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.writelines(boy)
girl_file.writelinea(girl)
boy_file.close()
girl_file.close()
boy =[]
girl =[]
count +=1
f.close()
银色的色 发表于 2017-8-20 16:07
我也是这个报错,
问题解决了么,我现在也是这个样子的
Traceback (most recent call last):
File "D:\study\python\exercise\test_2.py", line 9, in <module>
(role,words) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1) 报错+1 ,查不出是什么原因 liuchao2472 发表于 2016-3-11 20:44
恩恩 找了好久 就是record.txt 的文件的问题。 多谢啊
我直接从文中复制的":",但是还是出错,求指点您是怎么解决的呢? 一样报错呀{:10_266:},谁能解答下啊{:10_247:} 李小赖 发表于 2017-10-15 16:06
一样报错呀,谁能解答下啊
加个换行符
each_line = each_line.strip('\n') 有问题的同学还要注意下面的代码
【if each_line[:6] != '======':】
其中[:6]是截取一行中的前六个字符,所以你后面的等号也要输出六个
如果你截取的是[:3] 那么代码就变成if each_line[:3] != '===':
14楼说到点上了,我就是用的if each_line[:6] != '==='错的。老师给的文件本身没有问题。 那个‘:’,record.txt里是中文的,所以在你的.py中,也得引用中文的,我之前引用的是英文的,所以一直报错,值不够! record.txt 文件里的 : 冒号 和程序的冒号 全角和半角的问题。 q940440521 发表于 2018-1-28 12:50
那个‘:’,record.txt里是中文的,所以在你的.py中,也得引用中文的,我之前引用的是英文的,所以一直报 ...
楼主正解,修改后就成功了 绝对是TXT文件的问题,打开文件,读取看一看换行符号\n有多少个。(我:\n哦\n\n她:我的手套量了吗\n\n)这个是我的文件读取,冒号后边有换行符,所以执行不了,我从新写了一遍问价内容就解决了。 方法都试了,还是有错,要疯了