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() 
+1

另外,将结果字符串传递给parseString,而不是文件对象 – 2010-03-23 09:47:27