Python StringIO及BytesIO包使用方法解析
StringIO
它主要是用在內(nèi)存讀寫str中。
主要用法就是:
from io import StringIO f = StringIO() f.write(‘12345‘) print(f.getvalue()) f.write(‘54321‘) f.write(‘a(chǎn)bcde‘) print(f.getvalue()) #打印結(jié)果 12345 1234554321abcde
也可以使用str初始化一個(gè)StringIO然后像文件一樣讀取。
f = StringIO(‘hello\nworld!‘) while True: s = f.readline() if s == ‘‘: break print(s.strip()) #去除\n #打印結(jié)果 hello world!
BytesIO
想要操作二進(jìn)制數(shù)據(jù),就需要使用BytesIO。
當(dāng)然包括視頻、圖片等等。
from io import BytesIO f = BytesIO() f.write(‘保存中文‘.encode(‘utf-8‘)) print(f.getvalue()) #打印結(jié)果 b‘\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\xad\xe6\x96\x87‘
請(qǐng)注意,寫入的不是str,而是經(jīng)過UTF-8編碼的bytes。
存放圖片
f = BytesIO() image_open = open(‘./1.jpg‘, ‘rb‘) f.write(image_open.read()) image_save = open(‘./2.jpg‘, ‘wb‘) image_save.write(f.getvalue())
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)在tkinter中使用matplotlib繪制圖形的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)在tkinter中使用matplotlib繪制圖形的方法,結(jié)合實(shí)例形式分析了Python使用tkinter與matplotlib進(jìn)行正弦曲線圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01python自定義函數(shù)def的應(yīng)用詳解
這篇文章主要介紹了python自定義函數(shù)def的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Python利用正則表達(dá)式從字符串提取數(shù)字
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關(guān)于Python利用正則表達(dá)式從字符串提取數(shù)字的相關(guān)資料,需要的朋友可以參考下2022-02-02Python中集合的內(nèi)建函數(shù)和內(nèi)建方法學(xué)習(xí)教程
這篇文章主要介紹了Python中集合的內(nèi)建函數(shù)和內(nèi)建方法學(xué)習(xí)教程,包括工廠函數(shù)和僅用于可變集合的方法等知識(shí)點(diǎn),需要的朋友可以參考下2015-08-08詳解Python中pyautogui庫(kù)的最全使用方法
這篇文章主要介紹了詳解Python中pyautogui庫(kù)的最全使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04