鱼C论坛

 找回密码
 立即注册
查看: 1549|回复: 7

[已解决]一个任务:ValueError: need more than 1 value to unpack

[复制链接]
发表于 2018-12-8 19:58:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
f = open("record.txt")
boy = []
girl = []
for each_line in f:
    if each_line[:6] != "=======":
       (roles,spoken) = each_line.split(":", 1)
        if roles == "小甲鱼":
            boy.append(spoken)
        else:
            girl.append(spoken)
    else:
        open(boy_file,"w")
        open(girl_file,"w")
        boy_file.writelines(boy)
        girl_file.writelines(girl)
        boy_flie.close()
        girl_file.close()
f.close()


第六行一直报错是什么鬼啊?


Traceback (most recent call last):
  File "C:\Users\admin\Desktop\newfile\test_1.py", line 6, in <module>
    (roles,spoken) = each_line.split(":", 1)
ValueError: need more than 1 value to unpack
最佳答案
2018-12-8 20:23:47
=======你等号首先多了一个,
其次确定程序冒号和txt一致
然后确认txt有无空行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-8 20:23:47 | 显示全部楼层    本楼为最佳答案   
=======你等号首先多了一个,
其次确定程序冒号和txt一致
然后确认txt有无空行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-8 21:46:02 | 显示全部楼层
非常感感谢你的回答。
等号是多了一个,已经改正过来了,冒号也都重新复制粘贴了一遍,txt文件确认没有空行
但还是报这样的错误,唉,头都大了......郁闷......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-8 21:56:06 | 显示全部楼层
shmilmgt 发表于 2018-12-8 21:46
非常感感谢你的回答。
等号是多了一个,已经改正过来了,冒号也都重新复制粘贴了一遍,txt文件确认没有空 ...

楼上大神已经告诉你了。

你把你文件中的冒号和你代码中的冒号一致了。

不要文件中对话的冒号是中文冒号,而代码用使用的冒号是英文冒号,就会导致这个问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-8 22:13:07 | 显示全部楼层
小客服:小甲鱼,今天有客户问你有没有女朋友?

小甲鱼:咦??
小客服:我跟她说你有女朋友了!

小甲鱼:。。。。。。

小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"

小甲鱼:然后呢?

小客服:她买了两个,说发一个货就好~

小甲鱼:呃。。。。。。你真牛!

小客服:那是,谁让我是鱼C最可爱小客服嘛~

小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!

================================================================================

找到问题了,打开txt文档里面,是看不到任何空格行的,但是我把代码复制粘贴到其它页面就会显示很多空行,不知道为什么会现这么样的情况,如下面所示。去掉空行再粘贴到文档里面就OK了。
谢谢大家 !
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-12-8 22:21:39 | 显示全部楼层
网上复制过来的文档有毒,你说气人不?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-11 14:41:59 | 显示全部楼层
f = open('record.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.writelines(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.writelines(boy)
girl_file.writelines(girl) #写入

boy_file.close()
girl_file.close() #初始化

        

f.close()

        #文件的分别保存操作
总是报错:
== RESTART: E:\OneDrive - University of Oklahoma\Python\视频练习\029\test_1.py ==
Traceback (most recent call last):
  File "E:\OneDrive - University of Oklahoma\Python\视频练习\029\test_1.py", line 9, in <module>
    (role, line_spoken)=each_line.split(':', 1)
ValueError: not enough values to unpack (expected 2, got 1)

我仔细检查了  
txt中是英文冒号
也没有空行
能帮忙检查一下吗 ,多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-28 23:58:57 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-13 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表