Python:直接从tar.gz包打印xml文件

时间:2010-03-23 09:31:55

标签: python tar pretty-print

这是我尝试创建的第一个Python脚本。我正在从tar.gz包中读取一个xml文件,然后我想要打印它。但是我似乎无法将它从类文件对象转换为字符串。我尝试过几种不同的方式,包括str(),tostring()等,但没有什么对我有用。

为了测试我只是尝试在“print myfile [0:200]”处打印字符串,它总是生成“<tarfile.ExFileObject object at 0x10053df10>

import os
import sys
import tarfile
from xml.dom.minidom import parseString

tar = tarfile.open("data/ucd.all.flat.tar.gz", "r")
getfile = tar.extractfile("ucd.all.flat.xml")

myfile = str(getfile)
print myfile[0:200]

output = parseString(getfile).toprettyxml()
print output

tar.close()

1 个答案:

答案 0 :(得分:2)

未经测试,但您可能只需要对tarfile返回的类文件对象进行read()调用,例如:

myfile = getfile.read()