cStringIO 實現指定大小的字串快取

2022-06-29 23:21:13 字數 1016 閱讀 3237

stringio經常被用來作為字串的快取,以下實現無論寫入多少字串,總能返回乙個指定大小的快取

from cstringio import stringio

class customstringio():

def __init__(self, max_buffer = 4096):

self.max_buffer = max_buffer #用來設定stringio最大儲存位元組數

self.buffer = stringio() #cstringio.stringio 不能用於繼承,一旦賦值初始化了,就不能改變,但其效率比stringio.stringio高,cstringio沒有len和pos屬性。(還有,cstringio不支援unicode編碼)

def truncate_to_maxsize(self):

'''自定義裁剪函式,當stringio儲存位元組數超過定義的最大位元組數時,裁剪最後寫入的最大長度

self.buffer.seek(-self.max_buffer, 2)

_last = self.buffer.readlines()

self.buffer.truncate(0)

self.buffer.writelines(_last)

def write(self,string):

self.buffer.write(string)

self.truncate_to_maxsize()

def getvalue(self):

return self.buffer.getvalue()

if __name__ == '__main__':

mystringio=customstringio(10)

mystringio.write('lyhlyh')

mystringio.write('ldfdffdfdsfdsfsdfs')

mystringio.write('fdfdfdfdf')

print mystringio.getvalue()

ios擷取螢幕指定位置指定大小的實現

這兩天開發中需要擷取螢幕中指定位置的,蒐羅了下沒發現多少資料,大部分都是擷取全屏的功能實現。void loadview 上面 是在image的基礎上面截圖,所以決定先擷取全屏獲取全屏,再在全屏截圖的基礎上進行部分截圖。附上全屏截圖示例 uigraphicsbeginimagecontext self...

按照指定大小分割檔案

我們在處理檔案的時候有的檔案過大,不好處理,或者軟體輸入有限定,此時需要分割檔案,這裡提供按照指定大小分割檔案的方法,本方法參照某博主的 但是他的 我在win10用python3.8.1跑有死迴圈的問題,會不斷生成檔案。這裡更新後 如下 import sys,os,re defsplit file ...

linux 刪除指定資料夾指定大小指定型別的檔案

背景 最近,需要將所開發的專案。在本地弄乙個,試驗專案,來測試自己的想法。將 拷貝到另乙個目錄後發現,目錄數中有svn的檔案。為了防止自己一不小心將 提交,導致 庫混亂。需要將 svn 的目錄全部刪掉。乙個乙個的刪太費事了。所以,有了本次的試驗。並且把我知道的分享給大家。切換到專案主目錄下,輸入如下...