開發與維運

內存中寫入數據

本文來自於千鋒教育在阿里雲開發者社區學習中心上線課程《Python入門2020最新大課》,主講人姜偉。

內存中寫入數據

除了將數據寫⼊到⼀個⽂件以外,我們還可以使⽤代碼,將數據暫時寫⼊到內存⾥,可以理解為數據緩衝區。Python中提供了StringIO和BytesIO這兩個類將字符串數據和二進制數據寫⼊到內存⾥。

StringIO

StringIO可以將字符串寫⼊到內存中,像操作⽂件⼀樣操作字符串。

from io import StringIO

# 創建⼀個StringIO對象
f = StringIO()
# 可以像操作⽂件⼀樣,將字符串寫⼊到內存中
f.write('hello\r\n')
f.write('good')

# 使⽤⽂件的 readline和readlines⽅法,⽆法讀取到數據
# print(f.readline())
# print(f.readlines())

# 需要調⽤getvalue()⽅法才能獲取到寫⼊到內存中的數據
print(f.getvalue())

f.close()

BytesIO

如果想要以二進制的形式寫⼊數據,可以使⽤BytesIO類,它的⽤法和StringIO相似,只不過在調⽤write⽅法寫⼊時,需要傳⼊二進制數據。

from io import BytesIO

f = BytesIO()
f.write('你好\r\n'.encode('utf-8'))
f.write('中國'.encode('utf-8'))

print(f.getvalue())
f.close()

配套視頻

Leave a Reply

Your email address will not be published. Required fields are marked *