我們要實現一個文件讀寫操作的小程序
首先我們有一個文件

我們要以"============"為界限,每一個角色分割成一個獨立的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')
最后附上實現效果





