python對檔案載入到記憶體進行索引快取

2021-08-26 21:22:48 字數 539 閱讀 8933

前幾天寫了乙個函式,載入檔案到記憶體裡進行查詢(扔到資料庫裡有點慢,不想那麼搞)。

資料是格式規範的資料,用'|'分隔,按列進行索引:

比如,我們對以下資料進行索引:

1|2|3

#comment

a|bc

可以選擇使用第一列索引:

>>> index_file(('1|2|3', 'a|b|c', ' # a comment line '), vertical_sep, '/' , 0)

使用第一列和第三列作為索引:

>>> index_file(('1|2|3', 'a|b|c', ' # a comment line '), vertical_sep, '/' , 0,2)

唯一的問題是索引和資料是繫結在一起的,遇上需要對某個檔案建多個索引時,會有多個資料副本。 不過,這也可以很容易修改。

在github上檢視源**

寫這個函式還遇上了乙個問題:在list作為dict的key,使用dict的keys()方法時,in操作符居然是線性查詢。stackoverflow的問題解釋在這裡:

C 將檔案載入到記憶體

filestream fs new filestream strfile,filemode.open byte aa new byte fs.length 1 fs.read aa,0,int fs.length 1 fs.close fs.dispose file.delete strfile w...

powershell載入EXE進記憶體執行

可以使用以下函式 function convert binarytostring catch if bytearray else write output inputobject base64string 執行.base64.ps1 位址 https 在執行之前我需要把base64編碼的字串轉換為字...

python對檔案的 python對檔案的讀寫

檔案 file 什麼是檔案 檔案是用於資料儲存和單位 檔案通常用來長期儲存資料 檔案中的資料是以位元組為單位進行順序儲存的 檔案的操作流程 1.開啟檔案 2.讀 寫檔案 3.關閉檔案 注 任何的作業系統,乙個應用程式同時開啟檔案的數量有最大數限制 檔案的開啟函式 open file,mode rt ...