案例:
將文件內容寫入到硬件設備時候,使用系統調用,這類IO操作時間長,為了減小IO操作,通常會使用緩沖區(有足夠多數據才能調用)。
文件緩沖行為分為:全緩沖,行緩沖,無緩沖
如何解決?
open(‘’, ‘’, buffering = a) # buffering設置緩沖行為
全緩沖: a 是正整數,當緩沖區文件大小達到a大小時候,寫入磁盤
行緩沖: buffering = 1, 緩沖區碰到 \n 換行符的時候就寫入磁盤
無緩沖:buffering = 0 ,寫多少,存多少
#!/usr/bin/python3
# 設置定長緩沖區
with open('test.text', 'w+', encoding='utf-8', buffering=20) as f:
f.write('hello word!')
f.write('定個小目標,掙它一個億')
f.write('are you ok')
# 設置行緩沖
with open('test_1.text', 'w+', encoding='utf-8', buffering=1) as f:
f.write('hello word!\n')
f.write('定個小目標,掙它一個億\n')
f.write('are you ok\n')
#設置無緩沖
# 注意,text文件類型必須要寫緩沖區
with open('test_2.text', 'wb+', buffering=0) as f:
f.write(b'hello word!\n')
f.write(b'are you ok')
