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'
python高階之記憶體模型
每乙個程式語言的背後都有自己獨特的記憶體模型支援,比如最經典的c語言,乙個int型別佔8位元組。那麼在python中不區分資料型別,定義乙個變數其在內存在占用多少位元組呢?python中資料的運算其記憶體是如何變化的呢?python一切資料皆為物件,python中的物件分成兩類 可變物件和不可變物件...
python記憶體操作 Python記憶體讀寫操作示例
python中的讀寫不一定只是檔案,還有可能是記憶體,所以下面實在記憶體中的讀寫操作 示例1 coding utf 8 python3 from io import stringio f stringio f.write everything f.write is f.write possible ...
08 Python之記憶體管理
python中的記憶體管理,從淺層次來說,可以分為3個方面來講 1,引用計數 python中引用計數,為了跟蹤記憶體的物件 當建立物件的時候即被引用了,當物件不再被使用時,即某個物件的引用計數為0,它被垃圾 2,垃圾 機制 python可以不事先宣告變數型別而直接對變數進行賦值,垃圾 器會去檢查哪些...