鱼C论坛

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

求助大神第十行的代码错在哪了,实在找不着{:10_285:}

[复制链接]
发表于 2019-7-15 02:12:13 | 显示全部楼层 |阅读模式

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

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

x
代码报错

Traceback (most recent call last):                                                                                                            回溯(最近一次调用last):
   File "D:\Python\对record进行整理.py", line 10, in <module>                                                                       Python文件”D: \ \对记录进行整理。,第10行,在中
    (role,line_spoken) = each_line.split(':',1)  #此处的冒号要与record中使用的冒号一致,否则报错。                   (角色,line_spoken) = each_line.split(': ', 1) #此处的冒号要与记录中使用的冒号一致,否则报的错。
ValueError: not enough values to unpack (expected 2, got 1)                                                                      值错误:没有足够的值来解包(预期2,得到1)

编写的代码
f = open('record.txt')#如果两个文件根目录相同就可以不使用路径,直接使用文件名

boy = []    #该列表存放小甲鱼的话
girl = []   #该列表存放小客服的话
count = 1   #初始化计算器

for each_line in f:
    if each_line[:6] != '======':     #进行字符串分割操作(没必要等于整个等号,只要前几个就够了)
                                      #each_line[:6] != '======'此处的等号一定要与each_line[:6]的六个等号一致,否则会报错
        (role,line_spoken) = each_line.split(':',1)  #此处的冒号要与record中使用的冒号一致,否则报错。
        if role == '小甲鱼':         #each_line.split(':',1)此处意思为遇到冒号就切片一次
             boy.append(line_spoken)
        if role == '小客服':
             girl.append(line_spoken)
        #(role,line_spoken) = each_line.split(':',1)的理解是,用split()对每行进行切片操作,并返回包含两个元素的列表,再将两个元素分别赋值给role和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_filr = open(file_name_girl,'w')

        boy_file.writelines(boy)    #写入文件并保存
        girl_file.writelines(girl)

        boy_file.close()    #写完文件后一定要记得将文件关闭
        girl_filr.close()

        boy = []     #重新定义文件
        girl = []
        count += 1   #等于count = count + 1
                     #此时定义的文件名是_2

f.close()    #写完文件后一定要记得把文件关闭





小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-15 02:35:03 From FishC Mobile | 显示全部楼层
本帖最后由 jackz007 于 2019-7-15 02:41 编辑

     这一句
  1.     girl_filr = open(file_name_girl,'w')
复制代码

     应该是
  1.     girl_file = open(file_name_girl,'w')
复制代码

     这一句
  1.     girl_filr.close()
复制代码

     应该是
  1.     girl_file.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-15 02:37:11 | 显示全部楼层
jackz007 发表于 2019-7-15 02:35
girl_filr = open(file_name_girl,'w')
     应该是
     girl_file = open(file_name_girl,'w')

哇哦,原来我下面漏了个字母
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-15 02:40:23 | 显示全部楼层
筱嵊 发表于 2019-7-15 02:37
哇哦,原来我下面漏了个字母

改了还是有问题,第十行到底怎么了,大佬( &#300; ^ &#300; )
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-15 08:43:33 | 显示全部楼层
可能是你的文件中有空行,所以切割不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-15 10:19:32 | 显示全部楼层
报错的意思是只得到一个值,不能用2个变量解构,应该是你的文件有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-15 10:45:56 | 显示全部楼层
f是个对象,没有用read方法吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-15 10:46:40 | 显示全部楼层
本帖最后由 kelby 于 2019-7-15 10:50 编辑

第一行就错了,缺一个打开模式的参数
f = open('record.txt')
应该是
f = oped ('record.txt','r')

还有变量名中的file拼写错误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 21:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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