我使用pyowm模塊從OpenWeatherMap中獲取天氣數據。它工作得很好,但是當我請求天氣,它輸出它以這種格式如何隔離字符串的某個部分並將其打印出來?
<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain>
是有一個,例如,搶詞「雨」或「陰」,由「=之間分配的信「並關閉標籤(>)到一個新的變量,然後打印這個新的變量?
我使用pyowm模塊從OpenWeatherMap中獲取天氣數據。它工作得很好,但是當我請求天氣,它輸出它以這種格式如何隔離字符串的某個部分並將其打印出來?
<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain>
是有一個,例如,搶詞「雨」或「陰」,由「=之間分配的信「並關閉標籤(>)到一個新的變量,然後打印這個新的變量?
import re
x="<pyowm.webapi25.weather.Weather - reference time=2015-10-28 18:01:16+00, status=rain>"
print re.findall(r"(?<==)[^=]*(?=>)",x)
您可以使用re
與lookbehind
這一點。
你可以通過調用找到「=」和「>」中最後一次出現的索引:
lastEqualIndex = weatherString.rfind("=")
lastLTIndex = weatherString.rfind(">")
那麼你想要的只是:
weather = weatherString[lastEqualIndex + 1, lastLTIndex]
你不需要解析字符串以獲取所需的數據。您目前擁有的是pyowm.webapi25.weather.Weather
類型的對象。您可以訪問它的字段像這樣:(其中weather_obj
是你的對象的名稱)
print weather_obj.get_reference_time()
print weather_obj.get_status()
的的documentation瞭解更多信息。