2010-03-23 62 views
0

這是我嘗試創建的第一個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() 

回答

2

未經測試,但你可能只需要在文件 - 一個read()通話像tarfile所返回的對象一樣,例如:

myfile = getfile.read() 
+1

另外,將結果字符串傳遞給parseString,而不是文件對象 – 2010-03-23 09:47:27