请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生

【Python 第44课】 查天气(2)

  [复制链接]

0

主题

0

好友

14

积分

新手上路

Rank: 1

发表于 2013-9-27 17:14:02 |显示全部楼层
小坏 发表于 2013-8-8 17:34
编码问题解决分享:
我用win7的,照编码写的出了问题,返回的citycode都是None。后在群里童鞋指导下,把cit ...

我和你遇到一样的问题,终于解决了,多谢!
回复

使用道具 举报

0

主题

0

好友

66

积分

注册会员

Rank: 2

发表于 2013-10-10 16:36:52 |显示全部楼层
程序运行出现如图错误,该如何修改?谢谢。
QQ图片20131010163323.jpg
QQ图片20131010163310.jpg
回复

使用道具 举报

0

主题

0

好友

66

积分

注册会员

Rank: 2

发表于 2013-10-10 16:39:21 |显示全部楼层
TongShan 发表于 2013-10-10 16:36
程序运行出现如图错误,该如何修改?谢谢。

运行程序后没有要求输入需要查询的城市,而是直接列出了所以的城市名称和对应代码,部分城市名称为乱码
回复

使用道具 举报

0

主题

0

好友

66

积分

注册会员

Rank: 2

发表于 2013-10-10 17:26:31 |显示全部楼层
在虚拟机centos环境下,没有出现城市名称乱码,但是仍然没有出现输入城市名称的选项,最后返回到错误如下,求解:

Traceback (most recent call last):
  File "weather.py", line 4, in <module>
    from city import city
  File "/home/weihua/Crossin/city.py", line 27, in <module>
    code = content4.split('|')[1]
IndexError: list index out of range


回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2013-10-10 17:47:51 |显示全部楼层
TongShan 发表于 2013-10-10 17:26
在虚拟机centos环境下,没有出现城市名称乱码,但是仍然没有出现输入城市名称的选项,最后返回到错误如下, ...

你的city.py这个文件,是一个获取城市列表的程序,也就是查天气之前要做的准备工作。这个和43课附件里那个city.py不是一个东西。你可以去43课(【Python 第43课】 查天气(1)
http://crossin.me/forum.php?mod= ... tid=8&fromuid=3
)附件里下载抓取好的城市列表。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2013-10-10 17:49:57 |显示全部楼层
TongShan 发表于 2013-10-10 16:39
运行程序后没有要求输入需要查询的城市,而是直接列出了所以的城市名称和对应代码,部分城市名称为乱码 ...

至于乱码问题,可以参考这里:http://crossin.me/forum.php?mod= ... d=799&fromuid=3
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

66

积分

注册会员

Rank: 2

发表于 2013-10-10 18:01:18 |显示全部楼层
crossin先生 发表于 2013-10-10 17:47
你的city.py这个文件,是一个获取城市列表的程序,也就是查天气之前要做的准备工作。这个和43课附件里那 ...

谢谢,问题解决,原来是用错了city.py
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

发表于 2013-10-16 10:15:13 |显示全部楼层
crossin先生 发表于 2013-9-10 23:25
你这个已经快接近了啊,把这个json数据取出来就是结果了

我想问下,这个json怎么取出来啊??
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

发表于 2013-10-16 12:44:32 |显示全部楼层
Sooongz 发表于 2013-9-10 22:49
为什么我在python3下获得的数据是这样的
b'{"weatherinfo":{"city":"\xe5\x8d\x97\xe4\xba\xac","cityid":" ...

你可以这样做:
  1. import urllib.request
  2. import json
  3. list=urllib.request.urlopen('http://www.weather.com.cn/data/cityinfo/101190101.html').read();
  4. list=list.decode('utf-8')
  5. print(list)
复制代码
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

发表于 2013-10-16 13:24:46 |显示全部楼层
在Linux上,这么做是可以输出的,没有乱码。但是在windows上,就会有点问题了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-3-28 23:42 , Processed in 0.020075 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部