如何在不解压缩内容的情况下查看.tar.gz存档中特定文件的内容?

时间:2010-07-30 08:16:27

标签: python bash

对于ex abc.tar.gz有

ABC / FILE1.TXT
ABC / FILE2.TXT
ABC / ABC1 / file3.txt
abc / abc2 / file4.txt

我需要在不提取文件的情况下读取/显示file3.txt的内容。

感谢您的任何意见。

2 个答案:

答案 0 :(得分:11)

import tarfile
spam = tarfile.open( "abc.tar.gz" )
if "abc/abc1/file3.txt" in spam.getnames():
    with spam.extractfile( "abc/abc1/file3.txt" ) as ham:
        print ham.read()

请参阅tarfile

答案 1 :(得分:3)

tar -xzf mytar.tar.gz --to-command=cat filename.in.archive