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')

  最后附上實現效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM