python(三)一个文件读写操作的小程序

我们要实现一个文件读写操作的小程序

首先我们有一个文件

我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成

xiaoNa_1.txt xiaoBing_1.txt  

xiaoNa_2.txt xiaoBing_2.txt 

这样格式的四个文件

下面上代码:

#定义一个保存文件的函数
def save_file(xiaoNa,xiaoBing,count):
    file_name_xiaoBing = 'xiaoBing_'+str(count)+'.txt' #组织文件名
    file_name_xiaoNa = 'xiaoNa_'+str(count)+'.txt' #组织文件名

    xiaoBing_file = open(file_name_xiaoBing,'w') #文件写入操作 没有文件创建
    xiaoNa_file = open(file_name_xiaoNa,'w')

    xiaoBing_file.writelines(xiaoBing) #写入内容
    xiaoNa_file.writelines(xiaoNa)

    xiaoBing_file.close()
    xiaoNa_file.close()
#定义分割文件的函数
def split_file(file_name):
    f = open(file_name) #打开文件

    xiaoBing = [] #定义接受小兵会话的数组
    xiaoNa = [] #定义接受小娜会话的数组
    count = 1 #定义文件数

    for each_line in f:        
        if each_line[:6]!='======':
           (role,speakContent) = each_line.split(':',1) #split函数前面一个参数表示分割符号 后面一个表示分割次数
           if role == '小兵':
                xiaoBing.append(speakContent)
           if role == '小娜':
                xiaoNa.append(speakContent)
        else:
            #保存文件
            save_file(xiaoNa,xiaoBing,count)

            #重新初始化一下
            xiaoBing = []
            xiaoNa = []
            count +=1
            
    #因为分割符号“======”在最后一个没有了 所以这里要保存最后一个文件的内容
    save_file(xiaoNa,xiaoBing,count)
    f.close()

#调用函数执行功能
split_file('record.txt')

  最后附上实现效果

 

posted @ 2016-09-25 15:46  My Way!  阅读(3189)  评论(0编辑  收藏  举报