Python文件操作及內置函數(shù)flush原理解析
1、打開文件得到文件句柄并賦值給一個變量
2、通過句柄對文件進行操作
3、關閉文件
示例文件
'你好呀'
我是于超
嗯
再見
文件操作基本流程
f=open('chenli',encoding='utf-8')
first_line=f.readline()
print('第一行是:',first_line)print('我是分割線'.center(9,'-')) #9代表字符串總共9長度
data=f.read() #讀取所有內容
print(data)

#不指定打開編碼,即python解釋器默認編碼,python2.*為ascii,python3.*為utf-8
f=open('chenli.txt')
f.read()f=open('chenli.txt',encoding='utf-8')
f.read()
2.3 文件打開模式
文件句柄 = open ('文件路徑','模式')
打開文件時,需要指定文件路徑和以何等方式打開文件,打開后,即可獲取該文件句柄,日后通過此文件句柄對該文件操作。
打開文件的模式有:
- r ,只讀模式【默認模式,文件必須存在,不存在則拋出異?!?/li>
- w,只寫模式【不可讀;不存在則創(chuàng)建;存在則清空內容】
- x, 只寫模式【不可讀;不存在則創(chuàng)建,存在則報錯】
- a, 追加模式【可讀; 不存在則創(chuàng)建;存在則只追加內容】
"+" 表示可以同時讀寫某個文件
- r+, 讀寫【可讀,可寫】
- w+,寫讀【可讀,可寫】
- x+ ,寫讀【可讀,可寫】
- a+, 寫讀【可讀,可寫】
"b"表示以字節(jié)的方式操作
- rb 或 r+b
- wb 或 w+b
- xb 或 w+b
- ab 或 a+b
注:以b方式打開時,讀取到的內容是字節(jié)類型,寫入時也需要提供字節(jié)類型,不能指定編碼
2.4 文件內置函數(shù)flush
flush原理:
- 文件操作是通過軟件將文件從硬盤讀到內存
- 寫入文件的操作也都是存入內存緩沖區(qū)buffer(內存速度快于硬盤,如果寫入文件的數(shù)據(jù)都從內存刷到硬盤,內存與硬盤的速度延遲會被無限放大,效率變低,所以要刷到硬盤的數(shù)據(jù)我們統(tǒng)一往內存的一小塊空間即buffer中放,一段時間后操作系統(tǒng)會將buffer中數(shù)據(jù)一次性刷到硬盤)
- flush即,強制將寫入的數(shù)據(jù)刷到硬盤
滾動條:
import sys,time
for i in range(10):
sys.stdout.write('#')
sys.stdout.flush()
time.sleep(0.2)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Anaconda環(huán)境GDAL庫基于whl文件的配置方法
這篇文章主要介紹了Anaconda環(huán)境GDAL庫基于whl文件的配置方法,我們介紹了基于conda?install命令直接聯(lián)網(wǎng)安裝GDAL庫的方法,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-04-04
用Python簡單實現(xiàn)個貪吃蛇小游戲(保姆級教程)
本文基于Windows環(huán)境開發(fā),適合Python新手,文中有非常詳細的代碼示例,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06

