gpt4 book ai didi

python 在文件中查找带有路径的图像

转载 作者:太空宇宙 更新时间:2023-11-04 05:24:00 25 4
gpt4 key购买 nike

我想在文件中查找 svgs 或 pngs。图片位于属性 v="..."

文件的一部分如下所示:

<symbol alpha="1" type="marker" name="0">
<layer pass="0" class="SvgMarker" locked="0">
<prop k="angle" v="0"/>
<prop k="fill" v="#000000"/>
<prop k="name" v="../Downloads/Inkscape_vectorisation_test.svg"/>
<prop k="offset" v="0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline" v="#000000"/>
<prop k="outline-width" v="1"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="size" v="hello.png"/>
<prop k="size_unit" v="MM"/>
</layer>

我想要一个像这样的列表:

['../Downloads/Inkscape_vectorisation_test.svg','hello.png']

我的 python 代码:

import re
projectFile = open("project.xml", "r")
regex = re.compile(r'(?<=v\=").+(\.svg|\.png)(?="/>)')

for line in projectFile:
result = regex.findall(line)
for filename in result:
print filename

我用 http://pythex.org/ 测试了我的正则表达式它工作正常但在 python 控制台中结果只是 .svg 似乎捕获组 (\.svg|\.png) 被不同地解释。我做错了什么?

最佳答案

是否要求使用正则表达式?如果不是,一种更简单、更清洁的方法是使用 lxml .

由于您想要的 URI 似乎出现在 k="name"prop 元素中,您可以使用 xpath做类似的事情:

from lxml import etree
f = etree.parse(projectFile)
root = f.getroot()
# This will give you a list with all prop elements that contain the URIs you want in the v attribute
elements = root.xpath("//prop[@k='name']")

关于python 在文件中查找带有路径的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39429089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com