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

0 投票
1 回答
896 浏览
提问于 2025-04-15 20:44

这是我第一次尝试创建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 个回答

2

这个内容没有经过测试,但你可能只需要在tarfile返回的类似文件的对象上调用一下read(),比如:

myfile = getfile.read()

撰写回答