【发布时间】:2020-05-24 12:22:05
【问题描述】:
我正在尝试制作一个修改 .svg 文件(XML 格式)的脚本。我正在尝试更改一个或多个对象(例如数组)的背景颜色。
目前我认为我已经通过了我的代码的第一部分,但我看不到如何注册我的颜色更改。
这是我的代码:
From bs4 import BeautifulSoup
import re
svg = open('draw.svg').read()
soup = BeautifulSoup(svg ,'lxml')
paths = soup.find_all('path')
for path in paths:
if path.attrs['id']==('5'):
print(path.attrs['style'])
Str = re.sub( r'fill:#[0-9a-fA-F]{6}',
r'fil:#FFFFFF' ,
path.attrs['style'])
path.attrs['style'] = Str
print(Str)
print(path.attrs['style'])
svg = open ('draw.svg' ,"w")
svg.write(paths)
svg.close()
我要修改的内容位于包含 4 个不同属性( id 、 style ...)的路径标记中 目前我很难识别我的 id 然后是样式,然后我放了一个正则表达式,我尝试更改值,但它不会改变原始文件的任何内容。我想我错过了一些东西,你能通过建议我怎么做来帮助我吗?
我看不到如何同时读取/写入文件。
【问题讨论】:
-
你能把实际
draw.svg的xml贴出来吗?
标签: python regex beautifulsoup lxml