Python內(nèi)存讀寫操作示例
本文實(shí)例講述了Python內(nèi)存讀寫操作。分享給大家供大家參考,具體如下:
Python中的讀寫不一定只是文件,還有可能是內(nèi)存,所以下面實(shí)在內(nèi)存中的讀寫操作
示例1:
# -*- coding:utf-8 -*- #! python3 from io import StringIO f=StringIO() f.write('everything') f.write('is') f.write('possible') print(f.getvalue())
運(yùn)行結(jié)果:
everythingispossible
在內(nèi)存中新建一個StringIO
,然后進(jìn)行寫入
獲取的時候用的是getvalue()
函數(shù)
而讀取的時候可以用一個循環(huán)判斷,比如:
示例2:
# -*- coding:utf-8 -*- #! python3 f=StringIO('everything is possible') while True: s=f.readline() if s=='': break print(s.strip())
運(yùn)行結(jié)果:
everything is possible
同理,可以操作不只是str,還可以是二進(jìn)制數(shù)據(jù),所以會用到BytesIO
from io import BytesIO >>> f = BytesIO() >>> f.write('中文'.encode('utf-8')) 6 >>> print(f.getvalue()) b'\xe4\xb8\xad\xe6\x96\x87'
如下圖所示:
而寫入同時也是:
>>> from io import BytesIO >>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87') >>> f.read() b'\xe4\xb8\xad\xe6\x96\x87'
注:這里的測試環(huán)境為Python3,如果使用Python2運(yùn)行上述示例1的話會提示如下錯誤:
Traceback (most recent call last):
File "C:\py\jb51PyDemo\src\Demo\strIODemo.py", line 5, in <module>
f.write('everything')
TypeError: unicode argument expected, got 'str'
解決方法為將
from io import StringIO
更換成:
from io import BytesIO as StringIO
即可運(yùn)行得到正常結(jié)果!
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python解決Flutter項(xiàng)目簡體字問題的方法
作為面向大陸外市場的應(yīng)用,我們經(jīng)常編寫代碼的時候往往忘記切換繁體字導(dǎo)致上線后出現(xiàn)簡體字,因?yàn)檠芯肯聵I(yè)內(nèi)相關(guān)插件,看看怎么好解決這個問題,OpenCC 支持語言比較多,所以基于此嘗試了用 Python 去實(shí)現(xiàn),需要的朋友可以參考下2024-07-07django的ORM操作 刪除和編輯實(shí)現(xiàn)詳解
這篇文章主要介紹了django的ORM操作 刪除和編輯實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07利用python實(shí)現(xiàn)簡單的情感分析實(shí)例教程
商品評論挖掘、電影推薦、股市預(yù)測……情感分析大有用武之地,下面這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)簡單的情感分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06python實(shí)現(xiàn)爬蟲統(tǒng)計(jì)學(xué)校BBS男女比例之多線程爬蟲(二)
這篇文章主要介紹了python實(shí)現(xiàn)爬蟲統(tǒng)計(jì)學(xué)校BBS男女比例之多線程爬蟲,感興趣的小伙伴們可以參考一下2015-12-12Python集成C#實(shí)現(xiàn)界面操作下載文件功能的全過程
使用腳本進(jìn)行下載的需求很常見,下面這篇文章主要給大家介紹了關(guān)于Python集成C#實(shí)現(xiàn)界面操作下載文件功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03python使用jpype導(dǎo)入多個Jar的異常問題及解決
這篇文章主要介紹了python使用jpype導(dǎo)入多個Jar的異常問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Python實(shí)現(xiàn)獲取郵箱內(nèi)容并解析的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)獲取郵箱內(nèi)容并解析的方法,結(jié)合完整實(shí)例形式分析了Python登陸pop3服務(wù)器并解析獲取郵箱內(nèi)容相關(guān)操作技巧,需要的朋友可以參考下2018-06-06