鱼C论坛

 找回密码
 立即注册
查看: 2228|回复: 5

[已解决]第30讲文件:一个任务视频中的代码问题

[复制链接]
发表于 2020-2-7 23:24:02 | 显示全部楼层 |阅读模式

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

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

x
f = open('record.txt',encoding = 'gb18030',errors = 'ignore')

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()
        


一开始运行会出现UnicodeDecodeError: 'gb18030' codec can't decode byte 0x8d in position 8: illegal multibyte sequence
问题,上网搜索后,在打开文件那儿加上了encoding = 'gb18030'和errors = 'ignore'不知道这样对不对,然后再运行时是可以运行,也出现了相应的文本文件,但是文件里什么也没有,不知道什么原因

最佳答案
2020-2-8 01:25:26

f = open('record.txt', encoding = 'utf-8')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-8 01:25:26 | 显示全部楼层    本楼为最佳答案   

f = open('record.txt', encoding = 'utf-8')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 08:58:27 | 显示全部楼层
应该这样:

  1. f = open('record.txt', encoding = 'utf-8')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 11:20:13 | 显示全部楼层
XiaoPaiShen 发表于 2020-2-8 01:25
f = open('record.txt', encoding = 'utf-8')

嗯嗯,谢谢您,改了确实这样,不过我看视频里面也没加这句话,是因为视频里面默认的就是用utf-8吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 11:57:06 | 显示全部楼层
素手就琴 发表于 2020-2-8 11:20
嗯嗯,谢谢您,改了确实这样,不过我看视频里面也没加这句话,是因为视频里面默认的就是用utf-8吗

我想是的,后面很多文件操作,如有中文,都要加上 encoding='utf-8'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 17:48:57 | 显示全部楼层
XiaoPaiShen 发表于 2020-2-8 11:57
我想是的,后面很多文件操作,如有中文,都要加上 encoding='utf-8'

好的,谢谢您~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 22:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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