实际上,问题可能更好,因为要求实现这一目标的最佳做法。这很令人沮丧,因为这应该很容易。
我正在按照Flask by Example一书中的教程进行操作。我使用的是python 3的最新版本。在python 3中找不到文本中使用的urllib2。从文本中,我们需要urllib2来下载数据,并使用urllib来正确编码参数。只有一个函数get_weather因为我找不到有效的更新方法。
我将列出相关的代码行,以显示我想要完成的任务。我正在使用python 3的最新版本的烧瓶。我不会列出模板文件,因为在我尝试下载json api之前问题没有出现。
因此,对文件的第一个更改包括urllib和json的导入。这本书是从2015年开始的,当时urllib2可用。我们正试图从openwheathermap.org获取天气。由于我找不到urllib2,我稍微修改了本书的代码。
我有
WEATHER_URL = "http://api.openweathermap.org/data/2.5/weather?q={}&APPID=myappid"
def get_weather(query):
query = urllib.parse.quote(query)
url = WEATHER_URL.format(query)
data = urllib.request.urlopen(url).read()
parsed = json.loads(str(data))
weather = None
if parsed.get('weather'):
weather = {'description': parsed['weather'][0]['description'],
'temperature': parsed['main']['temp'],
'city': parsed['name'],
'country': parsed['sys']['country']
}
return weather
任何建议都将受到赞赏 谢谢, 布鲁斯
答案 0 :(得分:5)
您可以使用具有通用清洁界面的Grid
库来执行http操作。
图书馆的网址。 http://www.python-requests.org/en/master/
你可以做到
<Style TargetType="Grid" x:Key="VisibleAnimation">
<Setter Property="Visibility" Value="Collapsed"/>
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
From="300" To="0" Duration="0:0:0.5"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
在你的shell / cmd上安装。
在代码中,
requests