Python:直接从 tar.gz 包中漂亮地打印 xml 文件

发布于 2024-08-26 08:48:49 字数 589 浏览 10 评论 0原文

这是我尝试创建的第一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我爱人 2024-09-02 08:48:49

未经测试,但您可能只需要对 tarfile 返回的类文件对象进行 read() 调用,例如:

myfile = getfile.read()

Untested but you probably just need a read() call on the file-like object returned by tarfile, e.g.:

myfile = getfile.read()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文