python-2.7 - Python - 从 .svg 文件中读取矩形

标签 python-2.7 svg

我有几个从 inkspace 生成的 .svg 格式的真实文件。为了验证用 python 编写的程序的精度,我需要从 .svg 文件中读取“矩形”字段、它们的坐标和其他属性,例如轮廓颜色和 id。

我找到了这个主题: Library to parse SVG in Ruby or Python

哪里建议使用 pysvg 库,但我找不到有关 psvg.parser.parse 模块的文档。

有什么建议吗?

谢谢

最佳答案

您可以使用 python xml 解析器,因为 svg 是 xml 的一种类型。使用xpathfindall提取你想要的元素并读取元素属性来提取你需要的信息:

import xml.etree.ElementTree as ET
import re

# for parsing svg as a string:
svg = ET.fromstring(svg_string)
# for parsing svg from a file:
svg = ET.parse(svg_file)

rects = svg.findall('rect')

for rect in rects:
    width = rect.attrib['width']
    height = rect.attrib['height']
    x = rect.attrib['x']
    y = rect.attrib['y']

请记住,如果 rect 元素是组的一部分,您还必须解析它们所属的所有组的转换。这可能会变得相当棘手。

关于python-2.7 - Python - 从 .svg 文件中读取矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968744/

相关文章:

python - 在 Python 中强制垃圾收集以释放内存

python - 在 Python 中使用 .join() 为数组中除第一列以外的所有列着色

Python:从命令行运行时包含库文件夹

javascript - 在D3中,如何向geojson要素集合中的要素添加标签

css - 在独立的 SVG 文件中,是否可以仅使用 CSS 将一个对象相对于另一个对象定位?

javascript - 使用 JS/Jquery 和 SVG 来显示/隐藏 <object> SVG 中的元素

python - 此 sqlite3 查询的正确格式是什么? (Python)

javascript - 仅对具有日期的单元格进行日历操作

javascript - 使用firefox删除css中div的过滤器属性

python-2.7 - 数据帧编码