316745342 发表于 2020-7-30 09:34:29

029讲 小甲鱼和小客服的代码报错

boy = []
girl = []
count = 1

f = open('D:\\360极速浏览器下载\\record.txt')

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 = '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 = []
      girl = []
      count += 1

boy_file.close()
gir_file.close()
f.close()



Traceback (most recent call last):
File "C:/Users/123/Desktop/PYTHON/文件.py", line 9, in <module>
    (role,line_spoken) = each_line.split(":",1)
ValueError: not enough values to unpack (expected 2, got 1)

Twilight6 发表于 2020-7-30 09:35:22

本帖最后由 Twilight6 于 2020-7-30 09:37 编辑


这里少了一个等号:

if each_line != '=====':

应该改成:

if each_line != '======':

还有这里的缩进错误,和 gir_file 拼写错误,应该写到 else 下:

boy_file.close()
gir_file.close()

完整代码:


boy = []
girl = []
count = 1

f = open('D:\\360极速浏览器下载\\record.txt')

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 = '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 = []
      girl = []
      count += 1

      boy_file.close()
      girl_file.close()
f.close()

windychen 发表于 2020-7-30 09:42:44

里面”:“的中英文符号要和文档中一致
f = open('D:\\360极速浏览器下载\\record.txt',encoding='UTF-8')这句可以加上这个
页: [1]
查看完整版本: 029讲 小甲鱼和小客服的代码报错