如何隔离字符串的某个部分并打印出来?

时间:2015-10-28 18:25:58

标签: python python-2.7

我使用pyowm模块从OpenWeatherMap中截取天气数据。它工作正常,但是当我请求天气时,它会以这种格式输出它

<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain>
例如,有没有可以抓住“雨&#34;或&#34;多云&#34;通过在&#34; =&#34;之间分配字母;并将标签(&gt;)关闭到一个新变量,然后打印这个新变量?

3 个答案:

答案 0 :(得分:1)

您无需解析字符串以获取所需的数据。您目前拥有的是pyowm.webapi25.weather.Weather类型的对象。你可以像这样访问它的字段:

print weather_obj.get_reference_time()
print weather_obj.get_status()

(其中weather_obj是对象的名称。)

documentation了解更多信息。

答案 1 :(得分:0)

import re
x="<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain>"
print re.findall(r"(?<==)[^=]*(?=>)",x)

您可以将relookbehind一起使用。

答案 2 :(得分:0)

您可以找到最后一次出现的索引“=”和“&gt;”致电:

lastEqualIndex = weatherString.rfind("=")
lastLTIndex = weatherString.rfind(">")

然后你想要的只是:

weather = weatherString[lastEqualIndex + 1, lastLTIndex]