2015-10-28 69 views
1

我使用pyowm模塊從OpenWeatherMap中獲取天氣數據。它工作得很好,但是當我請求天氣,它輸出它以這種格式如何隔離字符串的某個部分並將其打印出來?

<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain> 

是有一個,例如,搶詞「雨」或「陰」,由「=之間分配的信「並關閉標籤(>)到一個新的變量,然後打印這個新的變量?

回答

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這一點。

0

你可以通過調用找到「=」和「>」中最後一次出現的索引:

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

那麼你想要的只是:

weather = weatherString[lastEqualIndex + 1, lastLTIndex] 
2

你不需要解析字符串以獲取所需的數據。您目前擁有的是pyowm.webapi25.weather.Weather類型的對象。您可以訪問它的字段像這樣:(其中weather_obj是你的對象的名稱)

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

的的documentation瞭解更多信息。

相關問題