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下正常顯示內容。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容