1.檔案讀寫過程
1. 打開檔案
2. 向檔案中寫入内容;
3. 關閉檔案
<a href="https://s3.51cto.com/wyfs02/M00/9B/EE/wKiom1lozQvxE-OkAAAZ8UD4Btg732.png" target="_blank"></a>
2.檔案讀寫
如果檔案很小, read() 一次性讀取最友善;
如果不能确定檔案大小,反複調用 read(size)
比較保險;如果是配置檔案,調用 readlines()
二進制檔案,用‘rb’模式打開即可
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozWXwanXWAAAbhFv6s60485.png" target="_blank"></a>
3.open函數的模式
r 以讀的方式打開,定位到檔案開頭 , 預設的 mode
r+ 以讀寫的方式打開,定位檔案開頭 , 可以寫入内容到檔案
w 以寫的方式打開,打開檔案的時候會清空檔案的内容,并且不能讀
w+ 以讀寫的方式打開,定位到檔案頭,并且打開檔案的時候也會清空檔案的内容
a 以寫的方式打開,定位到檔案的末尾,是一個追加的操作 , 但并不允許讀
a+ 以讀寫的方式打開,定位到檔案的末尾,追加的方式
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozgnyVGCcAAAbhFv6s60323.png-wh_500x0-wm_3-wmp_4-s_2760880331.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/9B/EE/wKiom1lozjywt411AABpNx0otYA449.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/9B/ED/wKioL1lozj2zrv6lAAAVthRL4tg657.png" target="_blank"></a>
4.檔案的其他操作
f.flush()函數,将緩沖區的内容寫入到硬碟中
f.seek(offset[,whence]),offset 表示移動多少位元組, whence 為 1 的時候表示相對于目前位置移動的;當 2 的時候從檔案的末尾往後移動,但不一定所有的平台都支援;預設為 0 表示從檔案開頭往後移動
f.tell()函數,傳回目前檔案指針的偏移量
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozsihI7e_AAAaCdsByjw728.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/9B/EE/wKiom1lozsihCq4KAAAT8cCYYwQ242.png" target="_blank"></a>
5.with文法
一般情況打開一個檔案,經過操作之後,都要顯式的執行xx.close() 将檔案關閉 .with 用于需要打開、關閉成對的操作,可以自動關閉打開對象。
<a href="https://s1.51cto.com/wyfs02/M00/9B/EE/wKiom1lozzuSFCOaAAAy0dB2OGM122.png" target="_blank"></a>
本文轉自 red777 51CTO部落格,原文連結:http://blog.51cto.com/12314711/1947709