python练习

#将小甲鱼每阶段的对话保存为boy1.txt/boy2.txt/boy3.txt,

#将小客服每阶段的对话保存为girl1.txt/girl2.txt/girl3.txt

#:及:前的文字不要出现 

文件名:test.txt

文件内容;

小客服:小甲鱼,今天有客户问你有没有女朋友
小甲鱼:咦
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。
小客服:她让你分手后考虑下她!然后我说您要买个优盘,我就帮您留意下~
小甲鱼:然后呢
小客服:她买了两个,说发一一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!

==========================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦
小客服:有了小甲鱼,以后妈妈再也不用担心我的学习了~”
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫小甲鱼哟西
小客服:那个有条回复左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,soeasy…
小甲鱼:T_T

=============================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦什么事
小客服:他说你一个学生月薪已经超过12k了!!
小甲鱼:哪里的
小客服:上海的
小甲鱼:那正常,哪家公司
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊是时候涨张工资了!!!
小甲鱼:啊,你说什么我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!

def create_file(boy,girl,count):
    file_name_boy = 'D:\\boy_'+str(count)+'.txt'    #确定每个文件名,加了绝对路径
    file_name_girl = 'D:\\girl_'+str(count)+'.txt'    
    boy_file = open(file_name_boy,'w')    #创建文件,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(filename):
    f3 = open(filename,encoding='utf-8')
    boy = []        #用于存放小甲鱼的话
    girl = []
    count = 1       #用于将同一role不同段落的内容存到不同的文件名后面

    for each_line in f3:
        if each_line[:6] != '======':        
            if ':' in each_line:
                (role,WhatSpoken) = each_line.split(':',1)    #用':'分隔,分割一次
                if role == '小甲鱼':
                    boy.append(WhatSpoken)    #把每行分割后半段讲话的内容添加进各自列表
                if role == '小客服':
                    girl.append(WhatSpoken)
        else:
            create_file(boy,girl,count)
            boy = []        #这里要把列表清空,不然会有上次迭代的内容
            girl = []
            count += 1

    create_file(boy,girl,count        #使用上面封装的函数,创建文档,并把内容分别写进文档
    f3.close()

split_file('D:\\test1.txt')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值