鱼C论坛

 找回密码
 立即注册
查看: 1334|回复: 23

[已解决]求解 怎么改

[复制链接]
发表于 2020-3-24 13:58:19 | 显示全部楼层 |阅读模式

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

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

x
f = open('D:\\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()

Traceback (most recent call last):
  File "C:/Users/john/Desktop/python练习/29练习1.py", line 9, in <module>
    (role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)

最佳答案
2020-3-24 14:22:17
CD84380973 发表于 2020-3-24 14:20
成功了 但是结果生成到哪里去了?

你问的是新生成的文件吗?
和你的程序在一个路径下。
C:/Users/john/Desktop/python练习/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-24 13:59:47 | 显示全部楼层
文件内容问题
把文件内容改成和小甲鱼一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:00:33 | 显示全部楼层
if each_line[:6] != '===================':
这一行右边引号中的 =改为6个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:02:36 | 显示全部楼层
qiuyouzhi 发表于 2020-3-24 13:59
文件内容问题
把文件内容改成和小甲鱼一样的

内容是一样的 论坛下载的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:03:20 | 显示全部楼层
BngThea 发表于 2020-3-24 14:00
if each_line[:6] != '===================':
这一行右边引号中的 =改为6个

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

使用道具 举报

发表于 2020-3-24 14:03:41 | 显示全部楼层
CD84380973 发表于 2020-3-24 14:02
内容是一样的 论坛下载的

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

使用道具 举报

发表于 2020-3-24 14:04:43 | 显示全部楼层
你的程序错误不在这一行。而在上一行
if each_line[:6] != '===================':
判断条件中,左侧写的是each_line[:6],但是右侧却有这么一长串等号,右侧应该是六个等号'======'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:06:22 | 显示全部楼层

你在这个if前用print打印一下each_line,看看读取的对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:09:15 | 显示全部楼层


引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中   each_line.split(':',1) 这里面的冒号与文件中的冒号不一样。文件中是中文的冒号,这里就要用中文的冒号,文件中是英文的冒号,这里就一个用英文的冒号。
而且文件中的各个冒号都应该检查一遍。

评分

参与人数 1荣誉 +3 收起 理由
xcsummer + 3

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-3-24 14:12:17 | 显示全部楼层
sunrise085 发表于 2020-3-24 14:04
你的程序错误不在这一行。而在上一行
if each_line[:6] != '===================':
判断条件中,左侧写的 ...

从文章中复制了6个=号过来还是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:13:35 | 显示全部楼层
CD84380973 发表于 2020-3-24 14:12
从文章中复制了6个=号过来还是不行

引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中   each_line.split(':',1) 这里面的冒号与文件中的冒号不一样。
文件中是中文的冒号,这里就要用中文的冒号,文件中是英文的冒号,这里就一个用英文的冒号。
而且文件中的各个冒号都应该检查一遍。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:13:48 | 显示全部楼层
BngThea 发表于 2020-3-24 14:06
你在这个if前用print打印一下each_line,看看读取的对不对

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

使用道具 举报

 楼主| 发表于 2020-3-24 14:15:26 | 显示全部楼层
sunrise085 发表于 2020-3-24 14:09
引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中   each_line.split(':',1) 这里面的 ...

按照你说的修改了 还是报错 还是红字一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:16:42 From FishC Mobile | 显示全部楼层
ValueError: not enough values to unpack
提示语说在第九行出错了,你就去找第九行或者前面的几行,他说值错误,没有足够的值……
就是说你的条件判断有问题。左边和右边的元素不等,把右边等号改成左边一样的个数就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:17:10 | 显示全部楼层
CD84380973 发表于 2020-3-24 14:15
按照你说的修改了 还是报错 还是红字一样的

Traceback (most recent call last):
  File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, in <module>
    boy_file_close()
NameError: name 'boy_file_close' is not defined
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:18:06 | 显示全部楼层
xcsummer 发表于 2020-3-24 14:16
ValueError: not enough values to unpack
提示语说在第九行出错了,你就去找第九行或者前面的几行,他说 ...

Traceback (most recent call last):
  File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, in <module>
    boy_file_close()
NameError: name 'boy_file_close' is not defined
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:20:03 | 显示全部楼层
CD84380973 发表于 2020-3-24 14:15
按照你说的修改了 还是报错 还是红字一样的

成功了 但是结果生成到哪里去了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:20:36 | 显示全部楼层
CD84380973 发表于 2020-3-24 14:18
Traceback (most recent call last):
  File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, ...

这里应该是boy_file.close()
你把  .写成下划线了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 14:21:35 | 显示全部楼层
sunrise085 发表于 2020-3-24 14:20
这里应该是boy_file.close()
你把  .写成下划线了

成功了 但是结果生成到哪里去了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 14:22:17 | 显示全部楼层    本楼为最佳答案   
CD84380973 发表于 2020-3-24 14:20
成功了 但是结果生成到哪里去了?

你问的是新生成的文件吗?
和你的程序在一个路径下。
C:/Users/john/Desktop/python练习/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-24 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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