悠悠岁月 发表于 2021-2-18 13:56:55

python029集文件,按照视频照抄报错了

下面是代码
f = open('111.txt')

boy = []
girl = []
count = 1

for each_line in f :
    if each_line[:6] != '######':
   
      (role , juzi) = each_line.split(':' , 1)
      if role == '小甲鱼':
            boy.append(juzi)
      if role =='小客服':
            girl.append(juzi)
    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)
      boy_file.writelines(boy)


      boy_file.close()
      girl_file.close()
      

      boy = []
      girl = []
      
      count += 1

f.close()
下面是报错
Traceback (most recent call last):
File "C:\Users\悠悠岁月\Desktop\新建文件夹\程序.py", line 7, in <module>
    for each_line in f :
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbc in position 8: illegal multibyte sequence


jackz007 发表于 2021-2-18 14:01:39

本帖最后由 jackz007 于 2021-2-18 14:02 编辑

      这一句
f = open('111.txt')
      改为
f = open('111.txt' , encoding = 'UTF-8')
      试试看

悠悠岁月 发表于 2021-2-18 14:05:35

jackz007 发表于 2021-2-18 14:01
这一句

      改为



这是新的错误
Traceback (most recent call last):
File "C:\Users\悠悠岁月\Desktop\新建文件夹\程序.py", line 11, in <module>
    (role , juzi) = each_line.split(':' , 1)
ValueError: not enough values to unpack (expected 2, got 1)

逃兵 发表于 2021-2-18 14:54:13

悠悠岁月 发表于 2021-2-18 14:05
这是新的错误
Traceback (most recent call last):
File "C:%users\悠悠岁月\Desktop\新建文件夹\ ...

文本里的冒号应该是中文冒号,注意区别
试一下
(role , juzi) = each_line.split(':' , 1)
页: [1]
查看完整版本: python029集文件,按照视频照抄报错了