Если я проанализирую его с помощью 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?
Похоже, что пробелы (новая строка или пробел) после перемещения текст слева. Если только я не удалю атрибут xml:space="preserve". Кажется, что prettify не должен добавлять или удалять пробелы в значениях узлов, имеющих этот атрибут, но это так.
Вот упрощенный пример, который страдает от модификации пробелов:
Default spacing
reserved spacing
Подробнее здесь: https://stackoverflow.com/questions/793 ... ust-layout
Мобильная версия