Python3命令行火车票查看器遇到的问题

问题一

今天通过实验楼学习Python3命令行火车票查看器,按步骤输入一下代码:

filehelper_1487040497138_18.png

出现的结果如下图,并非教程的结果:

filehelper_1487040654781_5.png

经查,为Usage块和Options之间缺一个换行,这应该是docopt的代码规范。

修改后.png

结果.png

所以还是不能尽抄代码,还是要多看模块文档了解真正用法。

  • 后来在docopt官方github的issues找到同样问题:
    图片发自简书App

问题二

parse_station.py代码如下:

# coding:utf-8
import re
import requests
from pprint import pprint
url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8997'
response = requests.get(url, verify=False)
stations = re.findall(u'([\u4e00-\u9fa5]+)\|([A-Z]+)', response.text)
pprint(dict(stations), indent=4)

然后在windows中的cmd上输入:python parse_station.py > stati.py,然后打开stati.py出现如下乱码:

乱码.png

错误提示:File was loaded in the wrong encoding:'UTF-8
显然是编码出现了问题,经查是因为windows的命令行默认是GBK,而保存下来的文件默认是UTF-8,所以解决方法是先把cmd的编码改为UTF-8,然后重新运行一下(暂时还未测试,网上查有更改方法)。我用的办法是:点击Pycharm右上方的Reload in another encoding,把乱码文档先改成GBK编码,这样就显示正常了,然后复制文档内容,再新建一个.py文档,把内容粘贴进去,此时就能在UTF-8下正常显示内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容