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)存中新建一個(gè)StringIO,然后進(jìn)行寫入
獲取的時(shí)候用的是getvalue()函數(shù)
而讀取的時(shí)候可以用一個(gè)循環(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ù),所以會(huì)用到BytesIO
from io import BytesIO
>>> f = BytesIO()
>>> f.write('中文'.encode('utf-8'))
6
>>> print(f.getvalue())
b'\xe4\xb8\xad\xe6\x96\x87'
如下圖所示:

而寫入同時(shí)也是:
>>> 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的話會(huì)提示如下錯(cuò)誤:
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文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用Python實(shí)現(xiàn)為PDF文檔設(shè)置背景色或背景圖
PDF作為一種跨平臺(tái)、高保真的文件格式被廣泛應(yīng)用,這篇文章主要為大家詳細(xì)介紹了如何使用Python代碼對(duì)PDF文檔進(jìn)行頁面背景色或背景圖片的設(shè)置,需要的可以參考下2024-04-04
python標(biāo)準(zhǔn)庫之time模塊的語法與簡單使用
在平常的代碼中,我們常常需要與時(shí)間打交道,那么在Python中,與時(shí)間處理有關(guān)的模塊就包括:time、datetime以及calendar,這篇文章主要給大家介紹了關(guān)于python標(biāo)準(zhǔn)庫之time模塊的語法與使用的相關(guān)資料,需要的朋友可以參考下2021-08-08
Python機(jī)器學(xué)習(xí)工具scikit-learn的使用筆記
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)工具scikit-learn的使用筆記,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)
這篇文章主要介紹了Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python+Opencv身份證號(hào)碼區(qū)域提取及識(shí)別實(shí)現(xiàn)
這篇文章主要介紹了Python+Opencv身份證號(hào)碼區(qū)域提取及識(shí)別實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
分享一下Python 開發(fā)者節(jié)省時(shí)間的10個(gè)方法
在這篇文章,我想強(qiáng)調(diào)一些 Python 可以節(jié)約時(shí)間并最大限度地提高生產(chǎn)力的方面。在做準(zhǔn)備時(shí),我咨詢了幾個(gè) Pythonists,他們最節(jié)省時(shí)間的技巧是什么?答案在這里2015-10-10

