0
對於一個項目,我必須存儲大量文本,並且希望通過zlib壓縮文本來保持數據庫的小型化。有沒有辦法通過測試子字符串而無需解壓縮來搜索zlib壓縮文本?任何方式來搜索zlib壓縮文本?
我想這樣做如下:
>>> import zlib
>>> lorem = zlib.compress("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")
>>> test_string = zlib.compress("Lorem")
>>> test_string in lorem
False
不,在一般情況下,解壓縮對於在壓縮文本中查找子字符串是不可或缺的。最好你可以做一個'decompressobj'來進行解壓和增量搜索,但是這樣做很難編程,因爲解壓縮部分的末尾可能與你正在尋找的**前綴**相匹配,並且你需要小心地跟蹤那... –