Python文件寫入函數 write()和writelines()


注意:python中,文件對象寫入函數只有 write() 和 writelines() 函數,而沒有名為 writeline 的函數。

  • write() 函數,可以向文件中寫入指定內容。該函數的語法格式如下:
file.write(string)

其中,file 表示已經打開的文件對象;string 表示要寫入文件的字符串(或字節串,僅適用寫入二進制文件中)。
創建一個a.txt文件,往其中寫入一行新的字符串。

f = open("a.txt", 'a')
f.write("\n寫入一行新數據")
f.close()

另外,在寫入文件完成后,一定要調用 close() 函數將打開的文件關閉,否則寫入的內容不會保存到文件中。例如,將上面程序中最后一行 f.close() 刪掉,再次運行此程序並打開 a.txt,你會發現該文件是空的。這是因為,當我們在寫入文件內容時,操作系統不會立刻把數據寫入磁盤,而是先緩存起來,只有調用 close() 函數時,操作系統才會保證把沒有寫入的數據全部寫入磁盤文件中。

除此之外,如果向文件寫入數據后,不想馬上關閉文件,也可以調用文件對象提供的 flush() 函數,它可以實現將緩沖區的數據寫入文件中。例如:

f = open("a.txt", 'w')
f.write("寫入一行新數據")
f.flush()
  • writelines() 函數,可以實現將字符串列表寫入文件中
    還是以 a.txt 文件為例,通過使用 writelines() 函數,可以輕松實現將 a.txt 文件中的數據復制到其它文件中,實現代碼如下:
f = open('a.txt', 'r')
n = open('b.txt','w+')
n.writelines(f.readlines())
n.close()
f.close()

執行此代碼,在 a.txt 文件同級目錄下會生成一個 b.txt 文件,且該文件中包含的數據和 a.txt 完全一樣。

需要注意的是,使用 writelines() 函數向文件中寫入多行數據時,不會自動給各行添加換行符
上面例子中,之所以 b.txt 文件中會逐行顯示數據,是因為 readlines() 函數在讀取各行數據時,讀入了行尾的換行符。


免責聲明!

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



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