【Python學習日記】B站小甲魚:檔案
阿新 • • 發佈:2020-08-25
檔案的開啟模式(open的引數)
檔案物件的方法
f.close() 關閉檔案
f.read(size = -1) 讀出size個字元
f.readline() 按行讀取文字
f.tell() 可以返回當前指標的位置
f.seek(offset, from) 在檔案中移動指標,從from開始移動offset個位元組。比如f.seek(0,0)可以把指標重置到首位
list() 可以把檔案內容變成列表
用下面的方法按行可以讀取出檔案的內容
for eachline in f: print(eachlie)
檔案的寫入
f.write() 在寫完執行f.close()以後就可以寫入檔案
f.write() 按行寫
練習-檔案分割
def save_file(chuang,bb,count): file_name_chuang = 'chuang_' + str(count) + '.txt' file_name_bb = 'bb_' + str(count) + '.txt' chuang_file = open(file_name_chuang, 'w', encoding="utf-8") bb_file = open(file_name_bb, 'w', encoding="utf-8") chuang_file.writelines(chuang) bb_file.writelines(bb) chuang_file.close() bb_file.close()def split_file(filename): f = open(filename,"rt", encoding="utf-8") chuang = [] bb =[] count =1 for eachline in f: if eachline[:6] != '======': #字串分隔 (role,linespoken) = eachline.split(':',1) if role =='闖': chuang.append(linespoken)if role == '彬彬': bb.append(linespoken) else: save_file(chuang,bb,count) chuang = [] bb = [] count +=1 save_file(chuang,bb,count) f.close() split_file('record.txt')
這個練習的操作檔案是一個以 “=======”為分割行的對話,闖說一句,bb說一句。通過冒號:將檔案的每一行進行分隔,寫入新的檔案儲存。
使用了兩個方法 分隔split_file()和儲存save_file()