Python:直接从 tar.gz 包中漂亮地打印 xml 文件
这是我尝试创建的第一个 Python 脚本。我正在从 tar.gz 包中读取 xml 文件,然后我想漂亮地打印它。但是我似乎无法将它从类似文件的对象转换为字符串。我尝试过几种不同的方法,包括 str()、tostring() 等,但没有任何效果。
为了测试,我只是尝试在“print myfile[0:200]”处打印字符串,它总是生成“
”
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()
This is the first Python script I've tried to create. I'm reading a xml file from a tar.gz package and then I want to pretty print it. However I can't seem to turn it from a file-like object to a string. I've tried to do it a few different ways including str(), tostring(), etc but nothing is working for me.
For testing I just tried to print the string at "print myfile[0:200]" and it always generates "<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()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
未经测试,但您可能只需要对 tarfile 返回的类文件对象进行
read()
调用,例如:Untested but you probably just need a
read()
call on the file-like object returned by tarfile, e.g.: