python基础 刻意练习 task07文件与文件系统 练习题 by littlecircle327 小甲鱼教程

我写的

# fr=open(r'D:\Program Files (x86)\phthon\myprogrammes\LL07\record.txt', mode='r')
fr=open('record.txt', mode='r')

fb1=open('b1.txt', mode='w')
fb2=open('b2.txt', mode='w')
fb3=open('b3.txt', mode='w')
fg1=open('g1.txt', mode='w')
fg2=open('g2.txt', mode='w')
fg3=open('g3.txt', mode='w')
fg=open('g.txt', mode='w')
fb=open('b.txt', mode='w')


fr.seek(0,0)
cishu_hengxian=0




for each_line in fr:
    
    thename=each_line[:3]    
    
    if each_line[-1:] =='”':
        thestring2=each_line[5:len(each_line)-1] #最后一行的特例
    else:
        thestring2=each_line[5:len(each_line)-2]

    if thename!='===':  
    
        if thename =='小甲鱼':
            fb.write(thestring2)
            fb.write('\n')

            if cishu_hengxian==0:
                fb1.write(thestring2)
                fb1.write('\n')

            elif cishu_hengxian==1:
                fb2.write(thestring2)
                fb2.write('\n')
            elif cishu_hengxian==2:
                fb3.write(thestring2)
                fb3.write('\n')                
        
        elif thename=='小客服':
            fg.write(thestring2)
            fg.write('\n')
            if cishu_hengxian==0:
                fg1.write(thestring2)
                fg1.write('\n')

            elif cishu_hengxian==1:
                fg2.write(thestring2)
                fg2.write('\n')
            elif cishu_hengxian==2:
                fg3.write(thestring2)
                fg3.write('\n')  

            
    else:
        cishu_hengxian+=1




fr.close()
fg.close()
fb.close()
fg1.close()
fg2.close()
fg3.close()
fb1.close()
fb2.close()
fb3.close()

官方写的

def save_file(count,boy,girl):  #下面会用到三个变量 count boy girl 所以这里记得要加上这三个未定义的变量
    filename_boy_name = 'boy' + str(count) + '.txt'
    filename_girl_name = 'girl' + str(count) +'.txt'
    boy_file = open(filename_boy_name,'w')
    girl_file = open(filename_girl_name,'w')
    boy_file.writelines(boy)
    girl_file.writelines(girl)
    boy_file.close()
    girl_file.close()


#这里为了以后使用方便 把分裂文字,然后写入这个功能也写成函数,说不定以后还用得到呢

def split_file(filename):   #函数()里面不用急着写,下面用到什么,这里再写什么也不迟
    f = open(filename)
    girl = []
    boy = []
    count = 1
    for each_line in f:
        
        if each_line[:6] != '======':
            (role,line_spoken) = each_line.split(':', 1)
            if role == '小甲鱼':
                boy.append(line_spoken[1:len(line_spoken)-2])
                boy.append('\n')
            else:
                girl.append(line_spoken[1:len(line_spoken)-2])
                girl.append('\n')
        else:
            save_file(count,boy,girl)   
            count +=1
            boy = []
            girl = []
    save_file(count,boy,girl)
    f.close()


#两个功能都写好了 ,现在用用这个利器吧
split_file('record.txt')

学到的:split函数,还有函数定义,都是很好的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值