【python】文件-分割文件的练习

来源:互联网 发布:goodix和fpc差距 知乎 编辑:程序博客网 时间:2024/06/07 14:15

转载+原创:http://blog.csdn.net/donkor_/article/details/62420257

任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来: 

-小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”) 
-小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”) 
-文件中总共有三段对话,分别保存为boy_1.txt,girl_1.txt,boy_2.txt, 

girl_2.txt,boy_3.txt,girl_3.txt共6个文件(提示:文件中的不同对话见已经使用“=========”分割)

可以从这里下载record.txt文档:链接:http://pan.baidu.com/s/1sjzAhNR(密码:tf2e)

f = open('record.txt')boy = []girl= []count = 1for each_line in f:        if each_line[:6] !='======':         #我们这里进行字符串分割操作            (role,line_spoken) = each_line.split(':',1)            if role=='小甲鱼':                boy.append(line_spoken)            if role=='小客服':                girl.append(line_spoken)        else:        #文件的分别保存操作            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()            boy = []  #将临时存储容器清空            girl = []            count += 1 #开始第二段内容的读取,相应的文件名字得改    #第三部分没有保存到文件中,因为没有分隔符了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()#关闭文件f.close()     


封装后:

#封装第一个函数:分割文件中的一个模块def save_file(boy,girl,count):    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(file_name):    f = open(file_name)    boy = [] #用于存储临时读取出来的内容    girl= []    count = 1 #需要读取三次    for each_line in f:            if each_line[:6] !='======':             #我们这里进行字符串分割操作                (role,line_spoken) = each_line.split(':',1)#利用冒号分割为两部分                if role=='小甲鱼':                    boy.append(line_spoken)                if role=='小客服':                    girl.append(line_spoken)                                else:            #文件的分别保存操作                save_file(boy,girl,count)                boy = []                girl = []                count += 1        #第三部分没有保存到文件中,因为没有分隔符了    save_file(boy,girl,count)        #关闭文件    f.close()#调用函数split_file('record.txt')         





原创粉丝点击