案例:
將文件內容寫入到硬件設備時候,使用系統調用,這類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')