zoukankan      html  css  js  c++  java
  • 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')
    

      最后附上实现效果

  • 相关阅读:
    python把汉字转换成拼音实现程序
    C#第三方zip解压压缩工具,带事例源码
    实现在线压缩文件的实现程序代码
    如何处理JSON中的特殊字符
    《汉字简体、繁体相互转换》 查看源代码
    中文字符转拼音源码
    upper_bound()函数使用方法
    CodeFroces New Assignment 二分图匹配
    选拔赛 hash 字符串匹配 哈希算法(白书p374)
    lower_bound()函数使用
  • 原文地址:https://www.cnblogs.com/yk123/p/5906108.html
Copyright © 2011-2022 走看看