鱼C论坛

 找回密码
 立即注册
查看: 3607|回复: 16

关于29讲 文件:一个任务 ValueError:没有足够的值可解包 求解

[复制链接]
发表于 2020-3-4 08:53:49 | 显示全部楼层 |阅读模式

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

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

x
我参考29讲视频中所讲的代码写了一遍了,运行出现:
Traceback (most recent call last):
  File "C:\Users\Nan\Desktop\python学习\文本.py", line 9, in <module>
    (role,line_spoken) = each_line.split('!',1)
ValueError: not enough values to unpack (expected 2, got 1)

我百度上说可能是换行符的问题,然后我把文本的自动换行去掉后,再运行还是显示这个错误,有大佬能解答下嘛,多谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-4 08:56:10 | 显示全部楼层
  1. 代码发全,且用代码格式发!
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:00:20 | 显示全部楼层
  1. f = open('abc.txt',encoding='UTF-8')

  2. boy = []
  3. girl = []
  4. count = 1

  5. for each_line in f:
  6.     if each_line[:6] != '======':
  7.         (role,line_spoken) = each_line.split('!',1)
  8.         if role == '小南':
  9.             boy.append(line_spoken)
  10.         if role == '客服:':
  11.             girl.append(line_spoken)
  12.     else:
  13.         file_name_boy = 'boy_' + str(count) + '.txt'
  14.         file_name_girl = 'girl_' +str(count) + '.txt'

  15.         boy_file = open(file_name_boy,'w')
  16.         girl_file = open(file_name_girl,'w')

  17.         boy_file.writelines(boy)
  18.         girl_file.writelines(girl)

  19.         boy_file.close()
  20.         girl_file.close()

  21.         boy = []
  22.         girl = []
  23.         count += 1

  24. f.close()
  25.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:01:13 | 显示全部楼层

你好,代码我发到下面去了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 09:08:30 | 显示全部楼层
a2658065498 发表于 2020-3-4 09:01
你好,代码我发到下面去了


那啥,对话有没?谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:10:18 | 显示全部楼层
qiuyouzhi 发表于 2020-3-4 09:08
那啥,对话有没?谢谢

客服!小南,今天有客户问你有没有女朋友?
小南!咦?????
客服!:我跟她说你有女朋友了!
小南!:。。。。。。
客服!:她让你分手后考虑下她!然后我说:''您要买个优盘,我就帮您留一下~'
小南!:然后呢
客服!:她买了两个,说发一个货就好~
小南!:呃。。。。牛逼!
客服!:那是,不看下是谁
小南!:下次有人想调戏你我不阻止~
客服!:滚!
===========================================================
客服!:小甲鱼,有个好评很好笑
小南!: 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
客服!:然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
小南!:诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
客服!:宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
小南!:侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。
客服愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
小南!:将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。
==========================================================
客服!:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。亲贤臣,远小人,此先汉所以兴隆也
小南!:亲小人,远贤臣,此后汉所以倾颓也。
客服!:先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。
小南!:臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
客服!:先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
小南!:后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
客服!:先帝知臣谨慎,故临崩寄臣以大事也。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:11:17 | 显示全部楼层
qiuyouzhi 发表于 2020-3-4 09:08
那啥,对话有没?谢谢

一开始我以为是冒号的原因,然后我就添加了感叹号 用感叹号来作为分割的线
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 09:11:52 | 显示全部楼层
a2658065498 发表于 2020-3-4 09:10
客服!小南,今天有客户问你有没有女朋友?
小南!咦?????
客服!:我跟她说你有女朋友了!

将文本内容改为:

  1. 客服!小南,今天有客户问你有没有女朋友?
  2. 小南!咦?????
  3. 客服!:我跟她说你有女朋友了!
  4. 小南!:。。。。。。
  5. 客服!:她让你分手后考虑下她!然后我说:''您要买个优盘,我就帮您留一下~'
  6. 小南!:然后呢
  7. 客服!:她买了两个,说发一个货就好~
  8. 小南!:呃。。。。牛逼!
  9. 客服!:那是,不看下是谁
  10. 小南!:下次有人想调戏你我不阻止~
  11. 客服!:滚!
  12. ===========================================================
  13. 客服!:小甲鱼,有个好评很好笑
  14. 小南!: 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
  15. 客服!:然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
  16. 小南!:诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
  17. 客服!:宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
  18. 小南!:侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。
  19. 客服!:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
  20. 小南!:将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。
  21. ==========================================================
  22. 客服!:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。亲贤臣,远小人,此先汉所以兴隆也
  23. 小南!:亲小人,远贤臣,此后汉所以倾颓也。
  24. 客服!:先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。
  25. 小南!:臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
  26. 客服!:先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
  27. 小南!:后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
  28. 客服!:先帝知臣谨慎,故临崩寄臣以大事也。
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 09:17:16 | 显示全部楼层
不是去掉自动换行,是把文件的所有内容放进一行里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:25:57 | 显示全部楼层
zltzlt 发表于 2020-3-4 09:11
将文本内容改为:

这里面是修改了什么呀??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 09:26:58 | 显示全部楼层
qiuyouzhi 发表于 2020-3-4 09:17
不是去掉自动换行,是把文件的所有内容放进一行里

不分行的意思嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 09:27:28 | 显示全部楼层

嗯嗯
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 09:38:17 | 显示全部楼层
a2658065498 发表于 2020-3-4 09:25
这里面是修改了什么呀??

第 19 行改了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 10:56:33 | 显示全部楼层
      代码看上去没有什么问题,现在唯一有问题的地方,可能是文件中的空行,这个代码要求每一行要么必须有至少一个 '!' 存在,要么行首至少有 6 个 '#' 字符,不允许有第三种行存在,检查一下文件开头、结尾,看看是不是有空行存在。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 16:16:53 | 显示全部楼层
jackz007 发表于 2020-3-4 10:56
代码看上去没有什么问题,现在唯一有问题的地方,可能是文件中的空行,这个代码要求每一行要么必须有 ...

你好,我跟楼主差不多的问题,我看了文件,也没有其他的行,但是还是会报错,说
  1. Traceback (most recent call last):
  2.   File "D:\python\030,文件的分割\test_1.py", line 9, in <module>
  3.     (role,line_spoken) = each_line.split(':',1)
  4. ValueError: not enough values to unpack (expected 2, got 1)
复制代码

这是怎么回事啊,求大佬指点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 17:05:23 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-8 17:07 编辑
Healit 发表于 2020-3-8 16:16
你好,我跟楼主差不多的问题,我看了文件,也没有其他的行,但是还是会报错,说
这是怎么回事啊,求大佬 ...


    如果没有空行,那就必须满足下面的两个条件:
1、分隔行的头 6 个字符必须是连续 6 个 '#' 字符;
2、正文行必须得有一个西文的冒号 ':' 字符存在;
     每一行文本都必须能够归入上面 2 中情况中的一种,你好好落实一下自己的文本文件内容。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 17:11:26 | 显示全部楼层
jackz007 发表于 2020-3-8 17:05
如果没有空行,那就必须满足下面的两个条件:
1、分隔行的头 6 个字符必须是连续 6 个 '#' 字符; ...

我明白了,,,应该是英文字符下的冒号,哇塞!这下终于对了
谢谢你哦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-23 04:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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