如何在 Linux/Python/Tweepy 环境中使用 LZO 压缩 Twitter 流?

How to compress Twitter streaming using LZO in Linux/Python/Tweepy environment?

我正在使用 Tweepy(Python Twitter API 库)从 Twitter 接收大量数据流。我想做的是压缩接收到的推文流并将它们存储在文件中。

压缩必须是 LZO,我不想使用 Linux 管道进行压缩。我想直接从 Python 代码中使用 LZO。使用 Linux 个管道我可以做到:

Python downloader.py | lzop -c > output.json.lzo

但我不想使用管道,而是想在 Python 脚本下载器中压缩流。

我找不到任何 Python 库或示例代码来使用 LZO 压缩流数据。

两个选项:

  1. 使用 library.

  2. 如果由于某种原因您无法使用该库,则以下代码与您编写的代码等效:

    from subprocess import Popen, PIPE, STDOUT
    
    p = Popen(['lzop', '-c'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)    
    result_stdout = p.communicate(input=json.dump(results))[0]