Python TXT文件按行分割

文件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.字符串分割符 ‘:’得用中文模式下的冒号。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值