Python: красивая печать XML-файла непосредственно из пакета tar.gz - PullRequest
0 голосов
/ 23 марта 2010

Это первый скрипт Python, который я пытался создать. Я читаю XML-файл из пакета tar.gz, а затем хочу его распечатать. Однако я не могу превратить его из файлового объекта в строку. Я пытался сделать это несколькими различными способами, включая 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 голосов
/ 23 марта 2010

Не проверено, но вам, вероятно, просто нужен вызов read() для файлового объекта, возвращаемого tarfile, например:

myfile = getfile.read()
...