在python脚本中读取tar文件内容而不对其进行解压缩

randeepsp:

我有一个tar文件,其中包含许多文件。我需要编写一个python脚本,该脚本将读取文件的内容并提供总数字符的计数,包括字母,空格,换行符的总数,所有内容,而无需解压缩tar文件。

ghostdog74:

您可以使用 getmembers()

>>> import  tarfile
>>> tar = tarfile.open("test.tar")
>>> tar.getmembers()

之后,您可以extractfile()用来将成员提取为文件对象。只是一个例子

import tarfile,os
import sys
os.chdir("/tmp/foo")
tar = tarfile.open("test.tar")
for member in tar.getmembers():
    f=tar.extractfile(member)
    content=f.read()
    print "%s has %d newlines" %(member, content.count("\n"))
    print "%s has %d spaces" % (member,content.count(" "))
    print "%s has %d characters" % (member, len(content))
    sys.exit()
tar.close()

对于f上面示例中的文件对象,可以使用read()readlines()等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从.gz压缩文件中读取第一行,而不对整个文件进行解压缩

在不解压缩到磁盘的情况下读取tar文件的内容

如何在Python或R中将TAR文件解压缩为TXT(读取CEL文件)

如何使用Python读取zip文件内容而不解压缩(压缩格式)

Powershell脚本解压缩xlsx并从工作表xml文件读取内容

如何使用bash脚本解压缩目录中的每种tar文件?

在读取解压缩的文件后进行解压缩和删除时,线程安全

在python中解压缩.xls文件

在python中,如果解压缩tar.gz文件,如何获取或设置结果文件的名称

解压缩tar.gz文件

解压缩TAR文件,导致错误

C#解压缩并从HttpWebResponse中读取文件

无法从python脚本解压缩文件

如何在python中的特定目录中读取多个.gz文件而不解压缩它们

bzip2:检查文件的解压缩大小,而不实际对其进行解压缩

如何列出gz文件的内容而不在python中解压缩?

将文件打包到一个文件中,以便以后以编程方式对其进行解压缩

检查Zip文件的内容并解压缩

Bash脚本解压缩多个文件

利用多核进行tar + gzip / bzip压缩/解压缩

从tar.gz文件读取而不保存解压缩的版本

如何在Java中压缩/解压缩tar.gz文件

使用一个命令解压缩.txz和.tar中压缩的文件

如何重复解压缩tar本身内的tar文件

在Mac OS X中,如何解压缩一个zip文件而不解压缩其内容?

Python:解压缩目录树中的选定文件

javascript - 在 google 脚本中解压缩 tar.gz 存档

错误解压缩后删除解压缩的tar.gz文件

如何在.tar.gz中获取文件大小(原始文件大小)而不解压缩?