Python的查車票小工具

2021-07-23 06:34:52 字數 2015 閱讀 1271

原始碼:

"""

usage:

tyxkets [-gd] options:

-h:幫助

-g:高鐵

-d:動車

from:出發地

to:目的地

date:日期

"""import docopt

import requests

import re

from prettytable import prettytable

args = docopt.docopt(__doc__)

url=""

r = requests.get(url, verify=false)

#正則匹配出代號與名字的拼音

stations = re.findall(r'([a-z]+)\|([a-z]+)',r.text)

stations = dict(stations)

stations = dict(zip(stations.values(),stations.keys()))

#print(stations)

#從命令列引數中拿到出發地,目的地,時間

fromstation = args['']

tostation = args['']

datetime = args['']

#根據引數匹配出車站代號

fromstation = stations.get(fromstation)

tostation = stations.get(tostation)

#根據出發地目的地時間查詢車票

url2 = ""+datetime+"&from_station="+fromstation+"&to_station="+tostation

print(url2)

r2 = requests.get(url2,verify=false)

ticketsinfo = r2.json()['data']['datas']

# 顯示車次、出發/到達站、 出發/到達時間、歷時、一等坐、二等坐、軟臥、硬臥、硬座

header = 'train station time duration first second softsleep hardsleep hardsit'.split()

deftrains

():for ticket in ticketsinfo:

train=[

#車次ticket.get('station_train_code'),

#出發/到達站

'\n'.join([ticket.get('from_station_name'), ticket.get('to_station_name')]),

#出發/到達時間

'\n'.join([ticket.get('start_time'), ticket.get('arrive_time')]),

#歷時ticket.get('lishi').replace(":","h")+"m",

#一等座

ticket.get('zy_num'),

#二等座

ticket.get('ze_num'),

#軟臥ticket.get('rw_num'),

#硬臥ticket.get('yw_num'),

#硬座ticket.get('yz_num')

]yield train

pt = prettytable()

#設定每一列的標題

pt._set_field_names(header)

for train in trains():

pt.add_row(train)

print(pt)

用法:python tickets.py

示例:python tickets.py shanghai beijing 2016-10-01

注意:日期中如果是單數,要在前面補0,比如2023年十月一號得寫成2016-10-01而不是2016-10-1

會不斷完善的,等著吧

python常用小工具

for i in range 32 image tensor2 image tensor1 0,i plt.imshow image tensor2 plt.show 比如 篩選列表中最後字元為 relu6 的元素 x for x in a if x 5 relu6 tmp 是pil影象 impor...

python小工具 tqdm介紹

在執行耗時任務的時候,我們希望能有乙個進度條告訴我們程式正在執行中而不是掛了。在python中恰好有乙個非常好用的進度條工具tqdm,該工具能夠在迴圈語句中新增乙個動態的進度條動畫,非常實用。如果你還沒有安裝tqdm,執行pip install tqdm安裝一下。如何使用tqdm?直接看下面的例子,...

python轉小工具exe

在cmd中安裝virtualenv 用於建立虛擬環境 pyinstaller 用於轉換工具 pip install virtualenv pip install pyinstaller 2.啟用virtualenv 先在cmd中轉到virtualenv安裝所在的目錄下 d cd d software...