如何在.txt文件中搜索<>之间的内容?蟒蛇

时间:2014-07-06 17:22:43

标签: python variables

我想在文本文件中搜索括号之间的信息,如此。

<fg="blue"><bg="red">

我想获得fg="blue"

然后我想将"blue"存储在一个变量的任何线索中,我该怎么做?

2 个答案:

答案 0 :(得分:0)

您的示例字符串看起来像XML。我建议你谷歌搜索“Python解析XML”或“Python解析HTML”。

如果是XML,你可能想要ElementTree。

https://docs.python.org/2/library/xml.etree.elementtree.html

如果是HTML,你可能想要BeautifulSoup。

http://www.crummy.com/software/BeautifulSoup/

Google会为您找到有关上述内容的教程和文档。

答案 1 :(得分:0)

嗯,对于这个简单的情况,你可以使用正则表达式。

import re
with open('myfile', 'r') as f:
    f = f.read()
    # use matches_a or matches_b depending on what you actually want
    matches_a = re.findall(r'<([^=]+=\"[^"]+\")>', f)
    matches_b = re.findall(r'<[^=]+=\"([^"]+)\">', f)

演示:

>>> import re
>>> s = '<fg="blue"><bg="red">'
>>> re.findall(r'<([^=]+=\"[^"]+\")>',s)
['fg="blue"', 'bg="red"']
>>> re.findall(r'<[^=]+=\"([^"]+)\">',s)
['blue', 'red']