簡體   English   中英

在python中打開一個lzo文件,而不解壓縮文件

[英]Open an lzo file in python, without decompressing the file

我目前正在從事涉及Twitter數據的第三年項目。 該部門為我提供了幾個月的Twitter的.lzo。 最小的是4.9gb,當解壓縮時是29gb所以我試圖打開文件並閱讀我要去的地方。 這是可能的還是我需要解壓縮並以這種方式處理數據?

編輯:嘗試逐行讀取並解壓縮讀取行

更新:找到一個解決方案 - 閱讀lzop -dc的STDOUT就像一個魅力

如何使用-c開關在子lzop中啟動lzop二進制文件 ,然后逐行讀取其STDOUT?

我知道只有一個用於LZO的Python庫 - https://github.com/jd-boyd/python-lzo ,它需要完全解壓縮(此外 - 它解壓縮內存中的內容)。

所以我認為在使用它們之前你需要解壓縮文件。

我知道這是一個非常古老的問題,答案非常好。 我遇到了一個samilar問題,谷歌把我帶到了這里。

我只是寫下我對lzo壓縮和lzop程序的經驗。 希望我能幫助像我這樣的人遇到同樣的問題。 我寫了一個簡單的python模塊來處理lzo文件,你可以在https://github.com/ir193/python-lzo/找到它

關於問題,讀取lzo壓縮文件(不解壓縮整個文件)可以通過一次讀取一個塊來完成。 lzo文件被分成幾個塊,並且塊的最大大小約為幾MB。 在我的模塊中,您只需使用read(4096)左右即可。

實際上* .lzo是由lzop創建的,與另一個答案( https://github.com/jd-boyd/python-lzo )提供的python-lzo幾乎沒有關系。 此模塊用於壓縮/解壓縮字符串,不處理lzop文件頭和校驗和。 如果要打開一些存在的lzo文件,請不要使用它。

暫無
暫無

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

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