Python:可以直接从tar.gz包打印xml文件
问题描述:
这是我尝试创建的第一个Python脚本。我正在从tar.gz包中读取一个xml文件,然后我想打印它。不过,我似乎无法将其从类文件对象转换为字符串。我试图用几种不同的方式来实现,包括str(),tostring()等,但没有任何工作适合我。Python:可以直接从tar.gz包打印xml文件
为了测试我只是想在“打印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()
答
未经测试,但你可能只需要在文件 - 一个read()
通话像tarfile所返回的对象一样,例如:
myfile = getfile.read()
另外,将结果字符串传递给parseString,而不是文件对象 – 2010-03-23 09:47:27