鱼C论坛

 找回密码
 立即注册
查看: 1664|回复: 8

[已解决]29讲课堂内容手打出错

[复制链接]
发表于 2017-7-3 21:55:55 | 显示全部楼层 |阅读模式

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

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

x
  1. f = open('E:\\Python\\课后习题\\课堂练习\\第31讲\\record.txt')
  2. boy = []
  3. girl = []
  4. count = 1
  5. for each_line in f:
  6.     if each_line[:5] != '====':
  7.         (role, line_spoken) = each_line.split(':', 1)
  8.         if role == '小甲鱼':
  9.             boy.append(line_spoken)
  10.         else:
  11.             girl.append(line_spoken)
  12.     else:
  13.         file_boy_name = '%s%c%d.txt' % ('小甲鱼','_',count)
  14.         file_girl_name = '%s%c%d.txt' % ('小客服','_',count)
  15.         f1 = open('file_boy_name','xt')
  16.         f1.writelines(boy)
  17.         f2 = open('file_girl_name','xt')
  18.         f2.writelines(girl)
  19.         boy = []
  20.         girl = []
  21.         f1.close()
  22.         f2.close()
  23.         count += 1

  24. file_boy_name = '%s%c%d.txt' % ('小甲鱼','_',count)
  25. file_girl_name = '%s%c%d.txt' % ('小客服','_',count)
  26. f1 = open('file_boy_name','xt')
  27. f1.writelines(boy)
  28. f2 = open('file_girl_name','xt')
  29. f2.writelines(girl)
  30. boy = []
  31. girl = []
  32. f1.close()
  33. f2.close()
  34. f.close()
  35.         
复制代码


  1. Traceback (most recent call last):
  2.   File "E:/Python/课后习题/课后习题练习(031-2).py", line 7, in <module>
  3.     (role, line_spoken) = each_line.split(':', 1)
  4. ValueError: not enough values to unpack (expected 2, got 1)
复制代码



请教下,我是完全手打的一遍小甲鱼的代码,而且'record.txt'文件没问题,读取路径也没问题,但还是报错了,报错信息显示不是常见的错误,想请假下各位,这个是什么意思~
最佳答案
2017-7-4 13:38:46
2017-07-04_133729.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-3 22:14:46 | 显示全部楼层
代码全吗?

  1. def save_file(boy,girl,count):
  2.     file_name_boy = 'boy' + str(count) + '.txt'
  3.     file_name_girl = 'girl' + str(count) + '.txt'

  4.     boy_file = open(file_name_boy, 'w')
  5.     girl_file = open(file_name_girl, 'w')

  6.     boy_file.writelines(boy)
  7.     girl_file.writelines(girl)
  8.     boy_file.close()
  9.     girl_file.close()            #把两人的对话分别放到命名不同的文件里
  10. def split_file(file_name):
  11.     f = open(r'C:\Users\Administrator\Desktop\1.txt')
  12.     boy=[]
  13.     girl=[]
  14.     count=1
  15.     for each_line in f:
  16.         if each_line[:6] != '======':
  17.             (role,line_spoken) = each_line.split(':', 1)   #每行按照:分割成1+1个子字符串,分别赋值给=前面的对象
  18.             if role == '小甲鱼':
  19.                 boy.append(line_spoken)
  20.             if role == '小客服':
  21.                 girl.append(line_spoken)
  22.         else:
  23.             save_file(boy,girl,count)
  24.             boy = []
  25.             girl = []
  26.             count += 1
  27.     save_file(boy,girl,count)
  28.     f.close()
  29. split_file('E:/test/dialogue.txt')
复制代码


文本文档里的 : 是英文的吗?
2017-07-03_221333.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-3 22:23:10 | 显示全部楼层
本帖最后由 何其潇洒 于 2017-7-3 22:24 编辑

if each_line[:5] != '====':
你这里少写了一个=, 要5个
要不然每行都要split,但是“=========”没法实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-4 11:21:29 | 显示全部楼层

检查过‘:’的问题,但依旧报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-4 11:52:46 | 显示全部楼层
把两个地方的冒号的格式都弄成中文的试一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-4 13:38:46 | 显示全部楼层    本楼为最佳答案   
2017-07-04_133729.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-4 19:59:13 | 显示全部楼层

对的,就是这个问题,但大于5也会报错,只能等于5才行,谢谢了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-4 19:59:46 | 显示全部楼层
何其潇洒 发表于 2017-7-3 22:23
if each_line[:5] != '====':
你这里少写了一个=, 要5个
要不然每行都要split,但是“=========”没法实 ...

对的,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-4 20:35:54 | 显示全部楼层
xlx_萧 发表于 2017-7-4 19:59
对的,就是这个问题,但大于5也会报错,只能等于5才行,谢谢了!

嗯,对·!~这里设了5 后面就要 5个=====
不好意思,一下子没有注意了,是想表达record.txt文件里面的=也要大于等于5个,否则也报这个错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-25 09:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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