как включить файл pretty_print xincluded? - PullRequest
0 голосов
/ 13 июля 2020
from lxml import etree
tree = etree.parse("part_000001.xml")
tree.xinclude()
string = etree.tostring(tree, pretty_print=True)

print(string)

Я пытаюсь распечатать файл XML, моя опция pretty_print включена в консоли (%% pprint для ее включения и выключения), но терминал по-прежнему не вставляет фактическую новую строку и вместо этого в строку включается "\ n".

Как изменить его так, чтобы фактически вставлялась новая строка?

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

байты сначала нужно превратить в строку:

string = etree.tostring(tree, pretty_print=True).decode("utf-8") #decode will convert bytes into string
0 голосов
/ 13 июля 2020

Вы можете попробовать BeautifulSoup и с помощью prettify () вы можете отформатировать свой код следующим образом:

from bs4 import BeautifulSoup

#you will FIRST need to read the xml file to pass into BS as shown below

content = []
with open("part_000001.xml", "r") as file:
    content = file.readlines()
    content = "".join(content)
    bs_content = bs(content, "lxml")

print(bs_content.prettify())

Подробнее об этом можно прочитать здесь .

...