在python脚本中读取tar文件内容而不对其进行解压缩
发布于 2021-01-29 19:35:25
我有一个tar文件,其中包含许多文件。我需要编写一个python脚本,该脚本将读取文件的内容并提供总数字符的计数,包括字母,空格,换行符的总数,所有内容,而无需解压缩tar文件。
关注者
0
被浏览
102
1 个回答
-
您可以使用
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()
等等。