簡體   English   中英

使用Python將整數和字符串列表壓縮到文件中

[英]Compressing a list of integers and strings into file with Python

我有一個列表,該列表由“ A”和“ B”以及范圍為0..255的整數組成的字符串組成。 例如,數組可以如下所示:

L = ["ABA", 2, 3, 100, 1, "BB"]

我想將其放在文件中以進行壓縮(列表L是BWT + MTF + Run-length轉換的最終產品)。 我也想從該文件中讀取它。 這是我嘗試使用bytearray的方法,但是由於“ BB”不是一個字節,因此它失敗了:

def compresslist(L, filename):

f = open(filename, 'wb')
f.write(bytearray(L))
f.close()

由“ A”和“ B”組成的字符串

L = ["ABA", 2, 3, 100, 1, "BB"]

"ABAA"簡單壓縮將是每個字符使用1位: 'A'為0, 'B'為1

如果字符串長度不超過8,則可以將其存儲在1 byte 這僅在列表結構固定的情況下才有效,即您知道bytesintegers在哪里。

如果所有integers均小於128,則strings (最多7個字符)可以7位存儲,其中最高有效位指示其為壓縮字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM