前几天遇到一个需求,将一个10G的文件夹打包压缩,并去除黑名单上的文件. node自带的只能压缩文件.网上看了集中方案要么对大文件操作不行,要么只能直接操作文件夹,无法对文件夹遍历筛选. 后来确定使用先遍历文件夹打包,然后再压缩的方案.然后在找打包模块时发现tar打包时可以直接压缩.试验后确定使用这种方案.本机试验,12G的文件夹,耗时大约18分钟. 代码如下,其中的tar时第三方模块,需要另外安装 npm install tar var fs = require('fs') var p
gzip 和bz2 模块可以很容易的处理这些文件.两个模块都为open() 函数提供了另外的实现来解决这个问题.比如,为了以文本形式读取压缩文件,可以这样做: # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as f: text = f.read() # bz2 compression import bz2 with bz2.open('somefile.bz2', 'rt') as f: text = f.r