Python文件操作及內(nèi)置函數(shù)flush原理解析
1、打開文件得到文件句柄并賦值給一個(gè)變量
2、通過句柄對(duì)文件進(jìn)行操作
3、關(guān)閉文件
示例文件
’你好呀’我是于超嗯再見
文件操作基本流程
f=open(’chenli’,encoding=’utf-8’)first_line=f.readline()print(’第一行是:’,first_line)
print(’我是分割線’.center(9,’-’)) #9代表字符串總共9長度data=f.read() #讀取所有內(nèi)容print(data)
#不指定打開編碼,即python解釋器默認(rèn)編碼,python2.*為ascii,python3.*為utf-8f=open(’chenli.txt’)f.read()
f=open(’chenli.txt’,encoding=’utf-8’)f.read()
2.3 文件打開模式
文件句柄 = open (’文件路徑’,’模式’)
打開文件時(shí),需要指定文件路徑和以何等方式打開文件,打開后,即可獲取該文件句柄,日后通過此文件句柄對(duì)該文件操作。
打開文件的模式有:
r ,只讀模式【默認(rèn)模式,文件必須存在,不存在則拋出異常】 w,只寫模式【不可讀;不存在則創(chuàng)建;存在則清空內(nèi)容】 x, 只寫模式【不可讀;不存在則創(chuàng)建,存在則報(bào)錯(cuò)】 a, 追加模式【可讀; 不存在則創(chuàng)建;存在則只追加內(nèi)容】'+' 表示可以同時(shí)讀寫某個(gè)文件
r+, 讀寫【可讀,可寫】 w+,寫讀【可讀,可寫】 x+ ,寫讀【可讀,可寫】 a+, 寫讀【可讀,可寫】'b'表示以字節(jié)的方式操作
rb 或 r+b wb 或 w+b xb 或 w+b ab 或 a+b注:以b方式打開時(shí),讀取到的內(nèi)容是字節(jié)類型,寫入時(shí)也需要提供字節(jié)類型,不能指定編碼
2.4 文件內(nèi)置函數(shù)flush
flush原理:
文件操作是通過軟件將文件從硬盤讀到內(nèi)存 寫入文件的操作也都是存入內(nèi)存緩沖區(qū)buffer(內(nèi)存速度快于硬盤,如果寫入文件的數(shù)據(jù)都從內(nèi)存刷到硬盤,內(nèi)存與硬盤的速度延遲會(huì)被無限放大,效率變低,所以要刷到硬盤的數(shù)據(jù)我們統(tǒng)一往內(nèi)存的一小塊空間即buffer中放,一段時(shí)間后操作系統(tǒng)會(huì)將buffer中數(shù)據(jù)一次性刷到硬盤) flush即,強(qiáng)制將寫入的數(shù)據(jù)刷到硬盤滾動(dòng)條:
import sys,timefor i in range(10): sys.stdout.write(’#’) sys.stdout.flush() time.sleep(0.2)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 前端從瀏覽器的渲染到性能優(yōu)化2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. 利用CSS3新特性創(chuàng)建透明邊框三角4. 讀大數(shù)據(jù)量的XML文件的讀取問題5. 解析原生JS getComputedStyle6. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁7. css代碼優(yōu)化的12個(gè)技巧8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))10. PHP循環(huán)與分支知識(shí)點(diǎn)梳理
