python之內存讀寫

參考鏈接

https://blog.csdn.net/Xu_weijie/article/details/80763634

Python中的讀寫不一定只是文件,還有可能是內存,所以下面實在內存中的讀寫操作

from io import  StringIO
f=StringIO()
f.write('everything')
f.write('is')
f.write('possible')
print(f.getvalue())

在內存中新建一個StringIO,然後進行寫入

獲取的時候用的是getvalue()函數

而讀取的時候可以用一個循環判斷,比如:

f=StringIO('everything is possible')
while True:
    s=f.readline()
    if s=='':
        break
    print(s.strip())

同理,可以操作不只是str,還可以是二進制數據,所以會用到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'

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章