BeautifulSoup prettify меняет контент, а не только макетPython

Программы на Python
Ответить
Anonymous
 BeautifulSoup prettify меняет контент, а не только макет

Сообщение Anonymous »

У меня есть изображение SVG, которое представляет собой XML-файл.
Если я проанализирую его с помощью BeautifulSoup и выведу без изменений, оно изменит его, когда я использую prettify. Изображение отображается по-другому. Текст перемещается влево. Но он отображается правильно, когда я привожу суп к строке.
Ввод:

Код: Выделить всё




110ºC

Выход:

Код: Выделить всё






110ºC



Мой код:

Код: Выделить всё

from bs4 import BeautifulSoup

bad_image_path = "test_text.svg"

with open(bad_image_path, 'r', encoding='utf8') as f:
soup = BeautifulSoup(f, "xml")

# make optional modifications to the data

with open('test_text_converted.svg', 'w', encoding='utf8') as f:
f.write(soup.prettify())  # makes weird changes
# f.write(str(soup))
  • Почему prettify изменяет изображение и как этого избежать?
  • Как запретить BeautifulSoup добавлять пространство имен префиксы к элементам SVG?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ust-layout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»