我有一个tar文件,其中包含许多文件。我需要编写一个python脚本,该脚本将读取文件的内容并提供总数字符的计数,包括字母,空格,换行符的总数,所有内容,而无需解压缩tar文件。
您可以使用 getmembers()
getmembers()
>>> import tarfile >>> tar = tarfile.open("test.tar") >>> tar.getmembers()
之后,您可以extractfile()用来将成员提取为文件对象。只是一个例子
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()等等。
f
read()
readlines()