溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python文件操作及內(nèi)置函數(shù)flush原理解析

發(fā)布時間:2020-10-18 13:22:18 來源:腳本之家 閱讀:199 作者:py魚 欄目:開發(fā)技術

1、打開文件得到文件句柄并賦值給一個變量

2、通過句柄對文件進行操作

3、關閉文件

示例文件

'你好呀'
我是于超

再見

文件操作基本流程

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文件操作及內(nèi)置函數(shù)flush原理解析

#不指定打開編碼,即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)建;存在則清空內(nèi)容】
  • x, 只寫模式【不可讀;不存在則創(chuàng)建,存在則報錯】
  • a, 追加模式【可讀; 不存在則創(chuàng)建;存在則只追加內(nèi)容】

"+" 表示可以同時讀寫某個文件

  • r+, 讀寫【可讀,可寫】
  • w+,寫讀【可讀,可寫】
  • x+ ,寫讀【可讀,可寫】
  • a+, 寫讀【可讀,可寫】

"b"表示以字節(jié)的方式操作

  • rb 或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打開時,讀取到的內(nèi)容是字節(jié)類型,寫入時也需要提供字節(jié)類型,不能指定編碼

2.4 文件內(nèi)置函數(shù)flush

flush原理:

  • 文件操作是通過軟件將文件從硬盤讀到內(nèi)存
  • 寫入文件的操作也都是存入內(nèi)存緩沖區(qū)buffer(內(nèi)存速度快于硬盤,如果寫入文件的數(shù)據(jù)都從內(nèi)存刷到硬盤,內(nèi)存與硬盤的速度延遲會被無限放大,效率變低,所以要刷到硬盤的數(shù)據(jù)我們統(tǒng)一往內(nèi)存的一小塊空間即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)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI