从python中的字符串中提取值

时间:2015-09-10 12:30:47

标签: python string

我正在学习python编程的基础课程,我有一个问题。

我在python中有一个字符串,其中包含有关点,线和段的数学信息。

该字符串包含许多必须忽略的信息。但只要找到“point”“line”“segment”这两个词,我就需要从这些元素中提取坐标并复制将它们列入清单。

我需要三个不同的列表。一个用来存储积分,另一个用于线路,第三个用于分段。

由于字符串太长,我只会粘贴每种元素的示例(我已经排除了字符串的非相关部分):

<element type="point" label="D">
    <show object="true" label="true"/>
    <objColor r="0" g="0" b="255" alpha="0.0"/>
    <layer val="0"/>
    <labelMode val="0"/>
    <animation step="1" speed="1" type="1" playing="false"/>
    <coords x="6.14" y="3.44" z="1.0"/>
    <pointSize val="3"/>
    <pointStyle val="0"/>
</element>
<element type="segment" label="a">
    <show object="true" label="true"/>
    <objColor r="153" g="51" b="0" alpha="0.0"/>
    <layer val="0"/>
    <labelMode val="0"/>
    <auxiliary val="false"/>
    <coords x="2.68" y="3.44" z="-12.0192"/>
    <lineStyle thickness="2" type="0" typeHidden="1"/>
    <outlyingIntersections val="false"/>
    <keepTypeOnTransform val="true"/>
</element>
<element type="line" label="b">
    <show object="true" label="true"/>
    <objColor r="0" g="0" b="0" alpha="0.0"/>
    <layer val="0"/>
    <labelMode val="0"/>
    <coords x="-1.3563823178988361" y="3.7135968534106922" z="-13.20117532177342"/>
    <lineStyle thickness="2" type="0" typeHidden="1"/>
    <eqnStyle style="implicit"/>
</element>

有什么简单的方法可以做我想要的吗? 提前致谢

1 个答案:

答案 0 :(得分:4)

看看BeautifulSoup。它允许您通过ID或标签获取元素。它对基本的XML解析非常有用 您可以使用XML字符串调用美味汤,然后可以调用BeautifulSoup方法