|
|
发表于 2018-4-30 14:44:45
|
显示全部楼层
首先,你的代码中:
1、save_files()函数就会报错,提示没有定义count,boy,girl,你应该在函数定义事,加上参数用:def save_files(count,boy,girl):,下面调用时不要忘记加上参数
2、split_file(files_name)这个函数,里面的record文件,你在打开时,没有说明是“r”还是“w”的形式。就会导致这样的问题。
我就改了这几处,可以运行出结果,代码如下:
- def save_files(count,boy,girl):
- 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()
- def split_file(files_name):
- f = open(files_name,'r+')
- boy = []
- girl = []
- count = 1
- for each_line in f:
- if each_line[:6] != '======':
- (role,talk) = each_line.split(':',1)
- if role == '小甲鱼':
- boy.append(talk)
- if role == '小客服':
- girl.append(talk)
- else:
- save_files(count,boy,girl)
- boy =[]
- girl =[]
- count += 1
- save_files(count,boy,girl)
- f.close()
- split_file('E:\\record.txt')
复制代码 |
|