not*_*guy 5 python xml svg inkscape
我是 python 新手,我正在尝试创建一个脚本来打开现有的 .svg 文件,更改文本/字体/颜色/大小,然后将其另存为单独的 .svg
我已经设法使用 svgwrite 创建另一个脚本,但这只能创建新文件,而不能编辑现有文件。
我看过其他一些建议使用 inkscape 扩展 inkex.py 的线程,但我不知道如何编写任何与此相关的内容。
我也尝试过 lxml 但我不太明白我在用它做什么。从我发现的所有内容中,我知道我必须解析 .svg,并从中得到下面的代码,但这似乎是一个死胡同,因为结果是空白的
import lxml.etree as ET
xml = ET.parse('C:\\Users\\Admin\\Desktop\\Test2.svg')
svg = xml.getroot()
print(svg)
print(svg.findall(".//{Element {http://www.w3.org/2000/svg}svg at 0x3e107a8"))
Run Code Online (Sandbox Code Playgroud)
- 编辑
如果有人尝试做类似的事情,我做了更多挖掘,发现实现我的目的的最佳方法是打开 svg,替换需要的字符串并写入文件,例如
Change = open(/files/file.svg, "rt")
data = change.read()
data = data.replace('original text', 'new text')
Change.close()
Change = open(/files/file.svg "wt")
Change.write(data)
Change.close()
Run Code Online (Sandbox Code Playgroud)