1. 程式人生 > 實用技巧 >【Python學習日記】B站小甲魚:檔案

【Python學習日記】B站小甲魚:檔案

檔案的開啟模式(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()