美文网首页
解决7z解压速度慢的问题

解决7z解压速度慢的问题

作者: VerusLoo | 来源:发表于2018-04-12 15:35 被阅读0次

    碰到一个问题,为了数据比较好拷贝,将大量(约200万个文件)的小文本文件用7z压缩,但是在解压的时候速度非常的慢,具体的原因也不太清楚,有可能是CPU的瓶颈问题,或者是硬盘的缓存问题。这个解压速度非常的慢,而且是随着解压的进程越来越慢,尝试使用pylzmapy7zlib编写脚本进行解压,速度还是非常的慢。最后发现一个速度比较快的法子,就是使用7z命令行的一个-so的开关,将数据输出到标准流,然后将标准流直接输出到文件,速度快了不少。最后需要读取一个大文件,它包含所有小文件内容,这里就需要根据文件内容的特点进行单个文件内容的匹配。所以这个方法比较适合大量结构类似的小文件,容易对单个文件内容进行提取。
    标准输出流命令:
    7z x filename.7z -so > outputfile

    为了是文件名称和每一个文件的内容对应起来,需要将解压的信息流和内容标准输出流依次输出到文件中,命令如下:
    7z x filename.7z -so > outputfile 2>&1
    如果不指定标准输出-so的设备,也就是目标文件,7z会提示说不能将数据和程序信息输出到同一个终端(i won't write data and program's messages to same terminal),可以分别指定1>2>的设备,2>默认的是当前终端,1>就是指定的文件。这里为了将文件名称和文件内容对应,需要将程序信息输出重新定向到标准输出设备,即命令的后部分2>&1

    相关文章

      网友评论

          本文标题:解决7z解压速度慢的问题

          本文链接:https://www.haomeiwen.com/subject/ottfkftx.html