您好,登錄后才能下訂單哦!
這篇文章給大家介紹Python中如何實現內存讀寫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
Python中的讀寫不一定只是文件,還有可能是內存,所以下面實在內存中的讀寫操作
示例1:
# -*- coding:utf-8 -*- #! python3 from io import StringIO f=StringIO() f.write('everything') f.write('is') f.write('possible') print(f.getvalue())
運行結果:
everythingispossible
在內存中新建一個StringIO
,然后進行寫入
獲取的時候用的是getvalue()
函數
而讀取的時候可以用一個循環判斷,比如:
示例2:
# -*- coding:utf-8 -*- #! python3 f=StringIO('everything is possible') while True: s=f.readline() if s=='': break print(s.strip())
運行結果:
everything is possible
同理,可以操作不只是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'
注:這里的測試環境為Python3,如果使用Python2運行上述示例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
關于Python中如何實現內存讀寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。