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

问题一

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

Python3命令行火车票查看器遇到的问题_第1张图片
filehelper_1487040497138_18.png

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

Python3命令行火车票查看器遇到的问题_第2张图片
filehelper_1487040654781_5.png

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

Python3命令行火车票查看器遇到的问题_第3张图片
修改后.png

Python3命令行火车票查看器遇到的问题_第4张图片
结果.png

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

  • 后来在docopt官方github的issues找到同样问题:
    Python3命令行火车票查看器遇到的问题_第5张图片
    图片发自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出现如下乱码:

Python3命令行火车票查看器遇到的问题_第6张图片
乱码.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下正常显示内容。

你可能感兴趣的:(Python3命令行火车票查看器遇到的问题)