鱼C论坛

 找回密码
 立即注册
查看: 1081|回复: 14

[已解决]split这个为什么会出错

[复制链接]
发表于 2020-6-2 22:25:38 | 显示全部楼层 |阅读模式

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

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

x
f = open('F:\\record.txt')

boy = []

girl = []

count = 1

for each_line in f:
    if each_line != '======':
        (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 = 'firl_' + str(count) + '.txt'

        boy_file = open(file_name_boy, 'w')
        firl_file = open(file_name_girl, 'w')

        boy_file.writelines(boy)
        firl_file.writelines(girl)

        boy_file.close()
        girl_file.close()

        boy = []
        firl = []
        count += 1

f.colse()

运行后提示错误
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\python\文件2.py", line 11, in <module>
    (role, line_spoken) = each_line.split(':', 1)
ValueError: not enough values to unpack (expected 2, got 1)

求帮助
最佳答案
2020-6-2 22:26:57
错误地方 if 条件这 切片要切 6 个 等于号     if each_line[:6] != '======'

完整代码:
f = open('F:\\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 = 'firl_' + str(count) + '.txt'

        boy_file = open(file_name_boy, 'w')
        firl_file = open(file_name_girl, 'w')

        boy_file.writelines(boy)
        firl_file.writelines(girl)

        boy_file.close()
        girl_file.close()

        boy = []
        firl = []
        count += 1

f.colse()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-2 22:26:57 | 显示全部楼层    本楼为最佳答案   
错误地方 if 条件这 切片要切 6 个 等于号     if each_line[:6] != '======'

完整代码:
f = open('F:\\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 = 'firl_' + str(count) + '.txt'

        boy_file = open(file_name_boy, 'w')
        firl_file = open(file_name_girl, 'w')

        boy_file.writelines(boy)
        firl_file.writelines(girl)

        boy_file.close()
        girl_file.close()

        boy = []
        firl = []
        count += 1

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

使用道具 举报

发表于 2020-6-2 22:28:09 | 显示全部楼层
否则会导致 split 切到 === 号的那行 导致没有冒号可切只产生一个值 而你用 role, line_spoken 两个变量来接收,导致报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:29:10 | 显示全部楼层
Twilight6 发表于 2020-6-2 22:28
否则会导致 split 切到 === 号的那行 导致没有冒号可切只产生一个值 而你用 role, line_spoken 两个变量来 ...

介么快就400最佳了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:30:26 | 显示全部楼层
老八秘制 发表于 2020-6-2 22:29
介么快就400最佳了

只要手速快,论坛里真正的大佬就抢不过你的最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:30:51 | 显示全部楼层
Twilight6 发表于 2020-6-2 22:30
只要手速快,论坛里真正的大佬就抢不过你的最佳

我开学了,没时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:31:34 | 显示全部楼层
Twilight6 发表于 2020-6-2 22:30
只要手速快,论坛里真正的大佬就抢不过你的最佳

话说你每次回答问题都要用粗体是不是显得你精心准备,就是比别人多搞了一些东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:31:58 | 显示全部楼层
老八秘制 发表于 2020-6-2 22:30
我开学了,没时间

哈哈 没通知 我懵懵的 大一 一年过去了,好亏啊  我等于大学只能体验3年
人家都是 4 年
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-2 22:32:58 | 显示全部楼层
老八秘制 发表于 2020-6-2 22:31
话说你每次回答问题都要用粗体是不是显得你精心准备,就是比别人多搞了一些东西

也可以这么说吧,不过我觉得没加黑体字看的好累 哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 08:15:42 | 显示全部楼层
Twilight6 发表于 2020-6-2 22:31
哈哈 没通知 我懵懵的 大一 一年过去了,好亏啊  我等于大学只能体验3年
人家都是 4 年

你什么时候开始学编程语言的呀,感觉差距好大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 08:17:47 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-6-3 08:15
你什么时候开始学编程语言的呀,感觉差距好大

3月11号  一开始学习就注册了这个账号了  无意间在B站看到小甲鱼视频的 就感兴趣了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 08:21:20 | 显示全部楼层
唉,美学python
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 08:28:52 | 显示全部楼层
Twilight6 发表于 2020-6-3 08:17
3月11号  一开始学习就注册了这个账号了  无意间在B站看到小甲鱼视频的 就感兴趣了

应该是努力吧,唉,我看小甲鱼的python看到字典就没坚持住了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-3 20:03:04 | 显示全部楼层
Twilight6 发表于 2020-6-2 22:26
错误地方 if 条件这 切片要切 6 个 等于号     if each_line[:6] != '======'

完整代码:

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

使用道具 举报

发表于 2020-6-3 20:03:59 | 显示全部楼层
l919329189 发表于 2020-6-3 20:03
明白了,已成功,谢谢

没事 能帮助到你就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 21:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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