我希望在 Python 3.8 中执行以下操作:
xz --decompress --stdout < hugefile.xz > hugefile.out
输入和输出都不适合内存。
当我阅读https://docs.python.org/3/library/lzma.html#lzma.LZMADecompressor上的文档时, 我可以使用LZMADecompressor来处理增量可用的输入,并且可以使用它的decompress () 函数来增量生成输出.
然而, LZMADecompressor似乎将其整个解压缩输出放入单个内存缓冲区,并且decompress () 从单个输入内存缓冲区读取其整个压缩输入。
诚然,文档让我感到困惑,什么时候输入和/或输出可以是增量的。
所以我想我将不得不产生一个单独的子进程来执行“xz”二进制文件。
有没有使用 lzma Python 模块来完成这个任务?