linux下替换文件的变量,linux-替换SVG文档中的变量(在YAML中外部定义...

另一个可能的解决方案:

在Inkscape中设置对象属性

Xclri.png

保存它,我们将有类似

...

xml:space="preserve"

style="font-style:normal;font-weight:normal;font-size:60px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto"

x="262.91638"

y="86.339157"

id="mytest"

sodipodi:linespacing="125%"

inkscape:label="#myvar">

id="desc4150">The test object to replace with a var

id="title4148">myobj

sodipodi:role="line"

id="tspan4804"

x="262.91638"

y="86.339157"

style="fill:#ffffff">sample

...

然后使用键值对创建yaml文件

myvar: hello world

并解析SVG并替换值

#! /usr/bin/env python

import sys

from xml.dom import minidom

import yaml

yvars = yaml.load(file('drawing.yaml', 'r'))

xmldoc = minidom.parse('drawing.svg')

for s in xmldoc.getElementsByTagName('text'):

for c in s.getElementsByTagName('tspan'):

c.firstChild.replaceWholeText(yvars[s.attributes['inkscape:label'].value[1:]])

print xmldoc.toxml()

值将被替换

The test object to replace with a varmyobj

hello world

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值