Python文件讀寫模式



文件常見的讀寫模式
w 以寫方式打開,
W 文件若存在,首先要清空,然后(重新)創建
a 以追加模式打開 (從 EOF 開始, 必要時創建新文件)
r+ 以讀寫模式打開
w+ 以讀寫模式打開 (參見 w )
a+ 以讀寫模式打開 (參見 a )
rb 以二進制讀模式打開
wb 以二進制寫模式打開 (參見 w )
ab 以二進制追加模式打開 (參見 a )
rb+ 以二進制讀寫模式打開 (參見 r+ )
wb+ 以二進制讀寫模式打開 (參見 w+ )
ab+ 以二進制讀寫模式打開 (參見 a+ )


讀取文件內容
open 讀取所有內容
使用open打開文件后一定要記得調用文件對象的close()方法。
file = open('thefile.txt')
file.close( )

with open('ecord.txt','a+',encoding = 'utf-8') as f:
f.write(str+'\n')
寫完成自動關閉

寫入數據
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
寫文本文件
output = open('data', 'w')

寫二進制文件
output = open('data', 'wb')
追加寫文件
output = open('data', 'w+')

寫入多行
file.writelines(strings)

注意,調用writelines寫入多行在性能上會比使用write一次性寫入要高。


文件打開模式 w+ r+ a+ 區別和辨析
w+ 打開文件並讀寫:

  1. 文件存在,則清空(也即寫入空);

  2. 文件不存在,則創建文件 ;

  3. 文件流定位到開始位置, 所以read() 會得到空。
r+ 打開文件並讀寫:

  1. 文件存在,打開文件,文件指針定位到文件開始位置;

  2. 文件不存在, 則報錯文件不存在。
a+ 打開文件並讀寫:

  1. 文件存在,打開文件,文件指針定位到文件開始位置,但不清空;

  2. 文件不存在,創建文件;

  3. 打開后讀取時,在文件開頭位置,

  4. 寫入時,添加到文章末尾,並且指針位於添加后的末尾,所以再次讀取會亂碼。
另外:
  1. w 打開文件寫入,也會清空文件,如果使用read(),則報錯;a 打開文件添加,數據流添加到文件末尾,而不是w模式的清空后,添加到文件末尾。
  2. b可以附加到上述的字母后,形成rb, rb+, wb等等模式,針對二進制文件,比如exe, elf, jpeg格式的文件,進行文件操作; 在unix 類型的系統上,text格式與二進制的處理相同,但是非unix類型的系統上,換行格式不同,所以需要用加b模式來在指定是否是二進制。


免責聲明!

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



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