python記憶體操作 Python記憶體讀寫操作示例

2021-10-12 11:49:13 字數 1372 閱讀 4676

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'))

>>> 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

f.write('everything')

typeerror: unicode argument expected, got 'str'

解決方法為將

from io import stringio

更換成:

from io import bytesio as stringio

即可執行得到正常結果!

Python學習筆記 1 1 2 認識Python

一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...

python實現演算法 kmp演算法python實現

kmp演算法python實現 kmp演算法 kmp演算法用於字串的模式匹配,也就是找到模式字串在目標字串的第一次出現的位置 比如abababc 那麼bab在其位置1處,bc在其位置5處 我們首先想到的最簡單的辦法就是蠻力的乙個字元乙個字元的匹配,但那樣的時間複雜度會是o m n kmp演算法保證了時...

python呼叫qt Qt 下呼叫 Python

qt是乙個跨平台的c 圖形使用者介面應用程式框架,而python是一門非常強大的程式語言,本文主要介紹了如何在osx系統下qt呼叫python指令碼。先上 include 包含呼叫python相應的標頭檔案 include int main int argc,char ar 初始化python直譯器...