thwycqqi 发表于 2020-3-22 23:17:51

第29课使用record.txt文件的问题


def save_file(boy,girl,conut):
    file_name_boy = 'boy_'+str(conut)+'.txt'
    file_name_girl = 'girl_'+str(conut)+'.txt'

    boy_file = open(f'E:\\Python\\小甲鱼习题文件资源\\{file_name_boy}','w')
    girl_file = open(f'E:\\Python\\小甲鱼习题文件资源\\{file_name_girl}','w')

    boy_file.writelines(boy)
    girl_file.writelines(girl)

    boy_file.close()
    girl_file.close()

def split_file(file_name):
    f = open(f'E:\\Python\\小甲鱼习题文件资源\\{file_name}')
    boy_list = []
    girl_list = []
    conut = 1
   
    for each in f:
      if each[:6] != '====' or conut <= 3:
            (personnel,content) = each.split(':',1)
            if personnel == '小甲鱼':
                boy_list.append(content)
            if personnel == '小客服':
                girl_list.append(content)
      else:
            save_file(boy_list,girl_list,conut)
            boy_list=[]
            girl_list=[]
            conut += 1
    f.close()

split_file('record.txt')


出现这样的报错,什么问题
Traceback (most recent call last):
File "E:\Python\test\lesson_29_文件操作.py", line 35, in <module>
    split_file('record.txt')
File "E:\Python\test\lesson_29_文件操作.py", line 23, in split_file
    (personnel,content) = each.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
>>>

jackz007 发表于 2020-3-23 00:18:12

本帖最后由 jackz007 于 2020-3-23 00:25 编辑

      'E:\\Python\\小甲鱼习题文件资源\\record.txt' 中只允许有两种行存在:
1.文本行:行内至少有1个西文的冒号 ':' ;
2.分隔行:开头的 6 个字符必须是'######' ;
      除了这两种行,不允许有第三种行(例如,空行)存在。
      按这个要求检查一下你的文件。

thwycqqi 发表于 2020-3-23 00:26:28

jackz007 发表于 2020-3-23 00:18
按这个要求检查一下你的文件。

已经解决,谢谢啊

晓小筱 发表于 2020-4-30 16:47:11

请问record.txt在哪里下载呢?

tyzm73 发表于 2020-5-8 14:25:40

晓小筱 发表于 2020-4-30 16:47
请问record.txt在哪里下载呢?

我也在找呢
页: [1]
查看完整版本: 第29课使用record.txt文件的问题