R_jun 发表于 2021-1-21 17:07:53

小白求救,打不开文件,报错!!大佬们帮帮看一下!谢谢

f = open('record.txt')

boy = []
girl = []
count = 1



for each_line in f:
   if each_line[:6] != '======':
      (role,line_spoken) = each_line.split(':',1)#(role,line_spoken) 是一个元组,用来储存后面切分的两个字符串
      if role == '小甲鱼':                        #(':',1)表示以冒号为分界线,分割一次
            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
f.close()   



大佬们,我对着视频中的代码 敲了一遍,为啥报出下面的错误!!!!!


Traceback (most recent call last):
File "E:/test1.py", line 9, in <module>
    for each_line in f:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence

昨非 发表于 2021-1-21 17:09:34

本帖最后由 昨非 于 2021-1-21 17:10 编辑

编码问题,换成utf-8编码应该就好了(open函数加个encoding参数)
#定义切分函数   
def spilt_file(file_name): #传入文件名
      f = open(file_name,"r",encoding='UTF-8')
         #关键点,编码方式                   就这里换个编码形式

R_jun 发表于 2021-1-21 17:41:26

昨非 发表于 2021-1-21 17:09
编码问题,换成utf-8编码应该就好了(open函数加个encoding参数)

谢谢啦
页: [1]
查看完整版本: 小白求救,打不开文件,报错!!大佬们帮帮看一下!谢谢