亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python內(nèi)存讀寫操作示例

 更新時間:2018年07月18日 14:46:34   作者:笨鳥可以先飛呀  
這篇文章主要介紹了Python內(nèi)存讀寫操作,結(jié)合實(shí)例形式分析了Python常見內(nèi)存讀寫操作使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(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)文章

最新評論