文件TXT 按行分割
文本示例:
学生:“说走咱就走阿!”
老师:“你有病吧?”
==================================
学生:“你有我有全都有阿!”
老师:“你再唱一句试试!”
学生:“路见不平一生吼阿!”
老师:“你信不信我奏你?”
===================================
学生:“该出手时就出手阿!”
老师:“我让你退学!”
学生:“风风火火闯九洲阿!
目标:将每段对话中的学生和老师说的话分别保存到student_i和teacher_i文件中
f = open('D:\\Python practice\\test_2.txt',encoding = 'utf-8')
def save_file(student,teacher,count):
file_name_student = 'student_' +str(count) + '.txt'
file_name_teacher = 'teacher_' +str(count) + '.txt'
student_file = open(file_name_student,'w')
teacher_file = open(file_name_teacher,'w')
student_file.writelines(student)
teacher_file.writelines(teacher)
student_file.close()
teacher_file.close()
student = []
teacher = []
count = 1
for each_line in f:
if each_line[:6] != '======':
#进行文件的分割保存
(role,line_spoken) = each_line.split(':', 1)
if role == '学生':
student.append(line_spoken)
if role == '老师':
teacher.append(line_spoken)
else:
#文件的分别保存工作
save_file(student,teacher,count)
student = []
teacher = []
count = count + 1
save_file(student,teacher,count)
f.close()
结果:
遇到的问题:
1.打开文件得指定解码方式 encoding(‘UTF-8’)
2.字符串分割符 ‘:’得用中文模式下的冒号。