Python3.4:splinter or traceback
2018-06-18 00:49:26来源:未知 阅读 ()
tickts.py:
#tickts.py #2018-01-22 #python 3.4 Eclipse IDE from splinter.browser import Browser from time import sleep import traceback import time import sys import requests import re import json from pprint import pprint from prettytable import PrettyTable from docopt import docopt from train import TrainCollection #train為 train.py 中的class:TrainCollection 的引用 from houcedu import huoche #huocedu為huocedu.py中的class: huoche 的引用 from stations import stations #pip install traceback2 #pip install linecache2 #pip install splinter windows xp python 3.4 #pip install PrettyTable #pip install docopt #pip install r2 #pip install colorama # https://github.com/python/cpython/tree/3.6/Lib #b = Browser(driver_name="Chrome") #url ="https://kyfw.12306.cn/otn/leftTicket/init" #b = Browser(driver_name="Chrome") #b.visit(url) cities= {'成都':'%u6210%u90FD%2CCDW', '重庆':'%u91CD%u5E86%2CCQW', '北京':'%u5317%u4EAC%2CBJP', '广州':'%u5E7F%u5DDE%2CGZQ', '杭州':'%u676D%u5DDE%2CHZH', '宜昌':'%u5B9C%u660C%2CYCN', '郑州':'%u90D1%u5DDE%2CZZF', '深圳':'%u6DF1%u5733%2CSZQ', '西安':'%u897F%u5B89%2CXAY', '大连':'%u5927%u8FDE%2CDLT', '武汉':'%u6B66%u6C49%2CWHN', '上海':'%u4E0A%u6D77%2CSHH', '南京':'%u5357%u4EAC%2CNJH', '合肥':'%u5408%u80A5%2CHFH'} #if __name__ == '__main__': huoche=huoche() print(cities.get('成都')) huoche.starts=cities.get('成都') huoche.ends = cities.get('杭州') huoche.dtime = '2018-01-05' #huoche.start() #未有權限 #https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-07-01&from_station=SHH&to_station=BJP 拒絕訪問 # pprint: 格式化输出 url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8971' #获取URL response = requests.get(url, verify=False) #正则提取中文字母和代号 stations = re.findall(u'([\u4e00-\u9fa5]+)\|([A-Z]+)', response.text) # indent:定义打印信息的缩进为4个空格 #pprint(dict(stations), indent=4) # 拼音輸出 url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955' texts = requests.get(url, verify=False) stations = re.findall(u'([A-Z]+)\|([a-z]+)', texts.text) stations = dict(stations) stations = dict(zip(stations.values(), stations.keys())) #pprint(stations, indent=4) # def cli(): arguments = docopt(__doc__) from_staion = stations.get(arguments['<from>']) to_station = stations.get(arguments['<to>']) date = arguments['<date>'] # 构建URL url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={}&from_station={}&to_station={}'.format( date, from_staion, to_station ) def clis(): # 添加verify=False参数不验证证书 r = requests.get(url, verify=False) print(r.json()) def clid(): arguments = docopt(__doc__) from_staion = stations.get(arguments['<from>']) to_station = stations.get(arguments['<to>']) date = arguments['<date>'] # 构建URL url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={}&from_station={}&to_station={}'.format( date, from_staion, to_station ) r = requests.get(url, verify=False) rows = r.json()['data']['datas'] trains = TrainCollection(rows) trains.pretty_print()
train.py:
#train.py #2018-01-22 import time import sys import requests import re from pprint import pprint from prettytable import PrettyTable class TrainCollection(object): """ 解析列车信息 """ # 显示车次、出发/到达站、 出发/到达时间、历时、一等坐、二等坐、软卧、硬卧、硬座 header = '序号 车次 出发站/到达站 出发时间/到达时间 历时 商务座 一等座 二等座 软卧 硬卧 硬座 无座'.split() def __init__(self,rows,traintypes): self.rows = rows self.traintypes = traintypes def _get_duration(self,row): """ 获取车次运行的时间 """ duration = row.get('lishi').replace(':','小时') + '分' if duration.startswith('00'): return duration[4:] elif duration.startswith('0'): return duration[1:] return duration @property def trains(self): result = [] flag = 0 for row in self.rows: if row['station_train_code'][0] in self.traintypes: flag += 1 train = [ # 序号 flag, # 车次 row['station_train_code'], # 出发、到达站点 '/'.join([row['from_station_name'],row['to_station_name']]), # 成功、到达时间 '/'.join([row['start_time'],row['arrive_time']]), # duration 时间 self._get_duration(row), # 商务座 row['swz_num'], # 一等座 row['zy_num'], # 二等座 row['ze_num'], # 软卧 row['rw_num'], # 硬卧 row['yw_num'], # 硬座 row['yz_num'], # 无座 row['wz_num'] ] result.append(train) return result def print_pretty(self): """打印列车信息""" pt = PrettyTable() pt._set_field_names(self.header) for train in self.trains: pt.add_row(train) print(pt)
houcedu.py:
#houcedu.py #2018-01-22 from splinter.browser import Browser from time import sleep import traceback import time import sys import requests import re class huoche(object): """docstring for huoche""" driver_name='' executable_path='' #用户名,密码 username = u"geovindu" passwd = u"888888" # cookies值得自己去找, 下面两个分别是上海, 太原南 starts = u"%u4E0A%u6D77%2CSHH" ends = u"%u592A%u539F%2CTYV" # 时间格式2018-01-19 dtime = u"2018-01-19" # 车次,选择第几趟,0则从上之下依次点击 order = 0 ###乘客名 users = [u"你的名字"] ##席位 xb = u"二等座" pz=u"成人票" """网址""" ticket_url = "https://kyfw.12306.cn/otn/leftTicket/init" login_url = "https://kyfw.12306.cn/otn/login/init" initmy_url = "https://kyfw.12306.cn/otn/index/initMy12306" buy="https://kyfw.12306.cn/otn/confirmPassenger/initDc" login_url='https://kyfw.12306.cn/otn/login/init' def __init__(self): self.driver_name='chrome' self.executable_path='/usr/local/bin/chromedriver' def login(self): self.driver.visit(self.login_url) # 填充密码 self.driver.fill("loginUserDTO.user_name", self.username) # sleep(1) self.driver.fill("userDTO.password", self.passwd) print (u"等待验证码,自行输入...") while True: if self.driver.url != self.initmy_url: sleep(1) else: break def start(self): self.driver=Browser(driver_name=self.driver_name,executable_path=self.executable_path) self.driver.driver.set_window_size(1400, 1000) self.login() # sleep(1) self.driver.visit(self.ticket_url) try: print (u"购票页面开始...") # sleep(1) # 加载查询信息 self.driver.cookies.add({"_jc_save_fromStation": self.starts}) self.driver.cookies.add({"_jc_save_toStation": self.ends}) self.driver.cookies.add({"_jc_save_fromDate": self.dtime}) self.driver.reload() count=0 if self.order!=0: while self.driver.url==self.ticket_url: self.driver.find_by_text(u"查询").click() count += 1 print (u"循环点击查询... 第 %s 次" % count) # sleep(1) try: self.driver.find_by_text(u"预订")[self.order - 1].click() except Exception as e: print (e) print (u"还没开始预订") continue else: while self.driver.url == self.ticket_url: self.driver.find_by_text(u"查询").click() count += 1 print (u"循环点击查询... 第 %s 次" % count) # sleep(0.8) try: for i in self.driver.find_by_text(u"预订"): i.click() sleep(1) except Exception as e: print (e) print (u"还没开始预订 %s" %count) continue print (u"开始预订...") # sleep(3) # self.driver.reload() sleep(1) print (u'开始选择用户...') for user in self.users: self.driver.find_by_text(user).last.click() print (u"提交订单...") sleep(1) # self.driver.find_by_text(self.pz).click() # self.driver.find_by_id('').select(self.pz) # # sleep(1) # self.driver.find_by_text(self.xb).click() # sleep(1) self.driver.find_by_id('submitOrder_id').click() # print u"开始选座..." # self.driver.find_by_id('1D').last.click() # self.driver.find_by_id('1F').last.click() sleep(1.5) print (u"确认选座...") self.driver.find_by_id('qr_submit_id').click() except Exception as e: print (e)
parse_station.py:
#!/usr/bin/env python # -*- coding: utf-8 -*- # __Author__: hong # parse_station.py import re import requests from pprint import pprint # pprint: 格式化输出 #url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8971' #获取URL #response = requests.get(url, verify=False) #正则提取中文字母和代号 #stations = re.findall(u'([\u4e00-\u9fa5]+)\|([A-Z]+)', response.text) # indent:定义打印信息的缩进为4个空格 #pprint(dict(stations), indent=4) url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8955' texts = requests.get(url, verify=False) stations = re.findall(r'([A-Z]+)\|([a-z]+)', texts.text) stations = dict(stations) stations = dict(zip(stations.values(), stations.keys())) pprint(stations, indent=4)
stations.py
#coding=utf-8 # stations.py import requests import re from pprint import pprint stations={ 'abagaqi': 'AQC', 'acheng': 'ACB', 'aershan': 'ART', 'aershanbei': 'ARX', 'aihe': 'AHP', 'aijiacun': 'AJJ', 'ajin': 'AJD', 'akesu': 'ASR', 'aketao': 'AER', 'alashankou': 'AKR', 'aletai': 'AUR', 'alihe': 'AHX', 'alongshan': 'ASX', 'amuer': 'JTX', 'ananzhuang': 'AZM', 'anda': 'ADX', 'ande': 'ARW', 'anding': 'ADP', 'anduo': 'ADO', 'angangxi': 'AAX', 'anguang': 'AGT', 'anhua': 'PKQ', 'anjia': 'AJB', 'anjing': 'PYW', 'ankang': 'AKY', 'ankouyao': 'AYY', 'anlong': 'AUZ', 'anlu': 'ALN', 'anping': 'APT', 'anqing': 'AQH', 'anqingxi': 'APH', 'anren': 'ARG', 'anshan': 'AST', 'anshanxi': 'AXT', 'anshun': 'ASW', 'anshunxi': 'ASE', 'antang': 'ATV', 'antingbei': 'ASH', 'antu': 'ATL', 'antuxi': 'AXL', 'anxi': 'AXS', 'anyang': 'AYF', 'anyangdong': 'ADF', 'aohan': 'YED', 'aojiang': 'ARH', 'aolibugao': 'ALD', 'atushi': 'ATR', 'babu': 'BBE', 'bachu': 'BCR', 'badaling': 'ILP', 'badong': 'BNN', 'bafangshan': 'FGQ', 'baibiguan': 'BGV', 'baicheng': 'BCT', 'baigou': 'FEP', 'baiguo': 'BGM', 'baihe': 'BEL', 'baihedong': 'BIY', 'baihexian': 'BEY', 'baijian': 'BAP', 'baijigou': 'BJJ', 'baijipo': 'BBM', 'baikuipu': 'BKB', 'bailang': 'BAT', 'bailixia': 'AAP', 'baimajing': 'BFQ', 'baiqi': 'BQP', 'baiquan': 'BQL', 'baise': 'BIZ', 'baishanshi': 'HJL', 'baishapo': 'BPM', 'baishapu': 'BSN', 'baishishan': 'BAL', 'baishuijiang': 'BSY', 'baishuixian': 'BGY', 'baishuizhen': 'BUM', 'baiyangdian': 'FWP', 'baiyi': 'FHW', 'baiyinchagan': 'BYC', 'baiyinhuanan': 'FNC', 'baiyinhushuo': 'BCD', 'baiyinshi': 'BNJ', 'baiyintala': 'BID', 'baiyinxi': 'BXJ', 'baiyunebo': 'BEC', 'bajiaotai': 'BTD', 'balin': 'BLX', 'bamiancheng': 'BMD', 'bamiantong': 'BMB', 'bancheng': 'BUP', 'banmaoqing': 'BNM', 'bantang': 'NGQ', 'bantian': 'BTQ', 'baodi': 'BPP', 'baoding': 'BDP', 'baodingdong': 'BMP', 'baohuashan': 'BWH', 'baoji': 'BJY', 'baojinan': 'BBY', 'baokang': 'BKD', 'baolage': 'BQC', 'baolin': 'BNB', 'baolongshan': 'BND', 'baoqing': 'BUB', 'baoquanling': 'BQB', 'baotou': 'BTC', 'baotoudong': 'FDC', 'bashan': 'BAY', 'baxiantong': 'VXD', 'bayangaole': 'BAC', 'bayuquan': 'BYT', 'bazhong': 'IEW', 'bazhongdong': 'BDE', 'bazhou': 'RMP', 'bazhouxi': 'FOP', 'beian': 'BAB', 'beibei': 'BPW', 'beidaihe': 'BEP', 'beihai': 'BHZ', 'beijiao': 'IBQ', 'beijing': 'BJP', 'beijingbei': 'VAP', 'beijingdong': 'BOP', 'beijingnan': 'VNP', 'beijingxi': 'BXP', 'beijingzi': 'BRT', 'beiliu': 'BOZ', 'beimaquanzi': 'BRP', 'beipiaonan': 'RPD', 'beitai': 'BTT', 'beitun': 'BYP', 'beitunshi': 'BXR', 'beiying': 'BIV', 'beiyinhe': 'BYB', 'beizhai': 'BVP', 'bencha': 'FWH', 'bengbu': 'BBH', 'bengbunan': 'BMH', 'benhong': 'BVC', 'benxi': 'BXT', 'benxihu': 'BHT', 'benxixincheng': 'BVT', 'bijiang': 'BLQ', 'bijiashan': 'BSB', 'bijiguan': 'BJM', 'binhai': 'FHP', 'binhaibei': 'FCP', 'binjiang': 'BJB', 'binxian': 'BXY', 'binyang': 'UKZ', 'binzhou': 'BIK', 'bishan': 'FZW', 'boao': 'BWQ', 'bobai': 'BBZ', 'boketu': 'BKX', 'bole': 'BOR', 'boli': 'BLB', 'botou': 'BZP', 'boxing': 'BXK', 'bozhou': 'BZH', 'buhai': 'BUT', 'buliekai': 'BLR', 'caijiagou': 'CJT', 'caijiapo': 'CJY', 'caishan': 'CON', 'cangnan': 'CEH', 'cangshi': 'CST', 'cangxi': 'CXE', 'cangzhou': 'COP', 'cangzhouxi': 'CBP', 'caohai': 'WBW', 'caohekou': 'CKT', 'caoshi': 'CSL', 'caoxian': 'CXK', 'caozili': 'CFP', 'ceheng': 'CHZ', 'cenxi': 'CNZ', 'chabuga': 'CBC', 'chaganhu': 'VAT', 'chaigang': 'CGT', 'chaigoupu': 'CGV', 'chaihe': 'CHB', 'chajiang': 'CAM', 'chaka': 'CVO', 'chaling': 'CDG', 'chalingnan': 'CNG', 'changcheng': 'CEJ', 'changchong': 'CCM', 'changchun': 'CCT', 'changchunnan': 'CET', 'changchunxi': 'CRT', 'changde': 'VGQ', 'changdian': 'CDT', 'changge': 'CEF', 'changle': 'CLK', 'changli': 'CLP', 'changlingzi': 'CLT', 'changlinhe': 'FVH', 'changnong': 'CNJ', 'changping': 'DAQ', 'changpingbei': 'VBP', 'changpingdong': 'FQQ', 'changpingnan': 'FPQ', 'changpoling': 'CPM', 'changqingqiao': 'CQJ', 'changsha': 'CSQ', 'changshan': 'CSU', 'changshanan': 'CWQ', 'changshantun': 'CVT', 'changshaxi': 'RXQ', 'changshou': 'EFW', 'changshoubei': 'COW', 'changshouhu': 'CSE', 'changting': 'CES', 'changtingnan': 'CNS', 'changtingzhen': 'CDB', 'changtu': 'CTT', 'changtuxi': 'CPT', 'changwu': 'CWY', 'changxing': 'CBH', 'changxingnan': 'CFH', 'changyang': 'CYN', 'changyuan': 'CYF', 'changzheng': 'CZJ', 'changzhi': 'CZF', 'changzhibei': 'CBF', 'changzhou': 'CZH', 'changzhoubei': 'ESH', 'changzhuang': 'CVK', 'chaohu': 'CIH', 'chaohudong': 'GUH', 'chaolianggou': 'CYP', 'chaoshan': 'CBQ', 'chaotian': 'CTE', 'chaoyang': 'CNQ', 'chaoyangchuan': 'CYL', 'chaoyangdi': 'CDD', 'chaoyangnan': 'CYD', 'chaoyangzhen': 'CZL', 'chaozhou': 'CKQ', 'chasuqi': 'CSC', 'chengcheng': 'CUY', 'chengde': 'CDP', 'chengdedong': 'CCP', 'chengdu': 'CDW', 'chengdudong': 'ICW', 'chengdunan': 'CNW', 'chenggaozi': 'CZB', 'chenggu': 'CGY', 'chenggubei': 'CBY', 'chengjisihan': 'CJX', 'chenguanying': 'CAJ', 'chengyang': 'CEK', 'chengzitan': 'CWT', 'chenming': 'CMB', 'chenqing': 'CQB', 'chenxi': 'CXQ', 'chenxiangtun': 'CXT', 'chenzhou': 'CZQ', 'chenzhouxi': 'ICQ', 'chezhuanwan': 'CWM', 'chibi': 'CBN', 'chibibei': 'CIN', 'chifeng': 'CFD', 'chifengxi': 'CID', 'chizhou': 'IYH', 'chongqing': 'CQW', 'chongqingbei': 'CUW', 'chongqingnan': 'CRW', 'chongqingxi': 'CXW', 'chongren': 'CRG', 'chongzuo': 'CZZ', 'chuangyecun': 'CEX', 'chunwan': 'CQQ', 'chunyang': 'CAL', 'chushan': 'CSB', 'chuxiongnan': 'COM', 'chuzhou': 'CXH', 'chuzhoubei': 'CUH', 'cili': 'CUQ', 'cishan': 'CSP', 'cixi': 'CRP', 'cixian': 'CIP', 'ciyao': 'CYK', 'congjiang': 'KNW', 'cuihuangkou': 'CHP', 'cuogang': 'CAX', 'daan': 'RAT', 'daanbei': 'RNT', 'daba': 'DBJ', 'daban': 'DBC', 'dachaigou': 'DGJ', 'dacheng': 'DCT', 'dadenggou': 'DKJ', 'dafangnan': 'DNE', 'dafeng': 'KRQ', 'daguan': 'RGW', 'daguantun': 'DTT', 'dagushan': 'RMT', 'dahongqi': 'DQD', 'dahuichang': 'DHP', 'dahushan': 'DHD', 'dailing': 'DLB', 'daixian': 'DKV', 'daiyue': 'RYV', 'dajiagou': 'DJT', 'dajian': 'DFP', 'daju': 'DIM', 'dakoutun': 'DKP', 'dalangzhen': 'KOQ', 'dalateqi': 'DIC', 'dalatexi': 'DNC', 'dali': 'DKM', 'dalian': 'DLT', 'dalianbei': 'DFT', 'dalianxi': 'GZT', 'dalin': 'DLD', 'daluhao': 'DLC', 'dandong': 'DUT', 'dandongxi': 'RWT', 'danfeng': 'DGY', 'dangshan': 'DKH', 'dangshannan': 'PRH', 'dangtudong': 'OWH', 'dangyang': 'DYN', 'dani': 'DNZ', 'dantu': 'RUH', 'danxiashan': 'IRQ', 'danyang': 'DYH', 'danyangbei': 'EXH', 'daobao': 'RBT', 'daoerdeng': 'DRD', 'daojiao': 'RRQ', 'daoqing': 'DML', 'daozhou': 'DFZ', 'dapanshi': 'RPP', 'dapingfang': 'DPD', 'dapu': 'DPI', 'daqilaha': 'DQX', 'daqing': 'DZX', 'daqingdong': 'LFX', 'daqinggou': 'DSD', 'daqingxi': 'RHX', 'dashiqiao': 'DQT', 'dashitou': 'DSL', 'dashitounan': 'DAL', 'dashizhai': 'RZT', 'datianbian': 'DBM', 'datong': 'DTV', 'datongxi': 'DTO', 'datun': 'DNT', 'dawang': 'WWQ', 'dawangtan': 'DZZ', 'dawanzi': 'DFM', 'dawukou': 'DFJ', 'daxing': 'DXX', 'daxinggou': 'DXL', 'dayan': 'DYX', 'dayangshu': 'DUX', 'dayebei': 'DBN', 'daying': 'DYV', 'dayingdong': 'IAW', 'dayingzhen': 'DJP', 'dayingzi': 'DZD', 'dayu': 'DYG', 'dayuan': 'DYZ', 'dazhanchang': 'DTJ', 'dazhangzi': 'DAP', 'dazhou': 'RXW', 'dazhuyuan': 'DZY', 'dazunan': 'FQW', 'dean': 'DAG', 'debao': 'RBZ', 'debosi': 'RDT', 'dechang': 'DVW', 'deerbuer': 'DRX', 'dehui': 'DHT', 'dehuixi': 'DXT', 'delingha': 'DHO', 'dengshahe': 'DWT', 'dengta': 'DGT', 'dengzhou': 'DOF', 'deqing': 'DRH', 'deqingxi': 'MOH', 'dexing': 'DWG', 'dexingdong': 'DDG', 'deyang': 'DYW', 'dezhou': 'DZP', 'dezhoudong': 'DIP', 'dianjiang': 'DJE', 'dianxin': 'DXM', 'didao': 'DDB', 'dingbian': 'DYJ', 'dinghudong': 'UWQ', 'dinghushan': 'NVQ', 'dingnan': 'DNG', 'dingtao': 'DQK', 'dingxi': 'DSJ', 'dingxiang': 'DXV', 'dingxibei': 'DNJ', 'dingyuan': 'EWH', 'dingzhou': 'DXP', 'dingzhoudong': 'DOP', 'diwopu': 'DWJ', 'dizhuang': 'DVQ', 'dongandong': 'DCZ', 'dongbianjing': 'DBB', 'dongcha': 'DCJ', 'dongchengnan': 'IYQ', 'dongdaihe': 'RDD', 'dongerdaohe': 'DRB', 'dongfang': 'UFQ', 'dongfanghong': 'DFB', 'dongfeng': 'DIL', 'donggangbei': 'RGT', 'dongguan': 'RTQ', 'dongguandong': 'DMQ', 'dongguang': 'DGP', 'donghai': 'DHB', 'donghaixian': 'DQH', 'dongjin': 'DKB', 'dongjing': 'FWQ', 'dongjingcheng': 'DJB', 'donglai': 'RVD', 'dongmiaohe': 'DEP', 'dongmingcun': 'DMD', 'dongmingxian': 'DNF', 'dongsheng': 'DOC', 'dongshengxi': 'DYC', 'dongtai': 'DBH', 'dongtonghua': 'DTL', 'dongwan': 'DRJ', 'dongxiang': 'DXG', 'dongxinzhuang': 'DXD', 'dongxu': 'RXP', 'dongying': 'DPK', 'dongyingnan': 'DOK', 'dongyudi': 'DBV', 'dongzhen': 'DNV', 'dongzhi': 'DCH', 'dongzhuang': 'DZV', 'douluo': 'DLV', 'douzhangzhuang': 'RZP', 'douzhuang': 'ROP', 'duanzhou': 'WZQ', 'duchang': 'DCG', 'duge': 'DMM', 'duiqingshan': 'DQB', 'duizhen': 'DWV', 'dujia': 'DJL', 'dujiangyan': 'DDW', 'dulitun': 'DTX', 'dunhua': 'DHL', 'dunhuang': 'DHJ', 'dushan': 'RWW', 'dushupu': 'DPM', 'duyun': 'RYW', 'duyundong': 'KJW', 'ebian': 'EBW', 'eerduosi': 'EEC', 'ejina': 'EJC', 'emei': 'EMW', 'emeishan': 'IXW', 'enshi': 'ESN', 'epanggong': 'EGY', 'erdaogoumen': 'RDP', 'erdaowan': 'RDX', 'erlian': 'RLC', 'erlong': 'RLD', 'erlongshantun': 'ELA', 'ermihe': 'RML', 'erying': 'RYJ', 'ezhou': 'ECN', 'ezhoudong': 'EFN', 'faer': 'FEM', 'fanchangxi': 'PUH', 'fangchenggangbei': 'FBZ', 'fanjiatun': 'FTT', 'fanshi': 'FSV', 'fanzhen': 'VZK', 'faqi': 'FQE', 'feidong': 'FIH', 'feixian': 'FXK', 'fengcheng': 'FCG', 'fengchengdong': 'FDT', 'fengchengnan': 'FNG', 'fengdu': 'FUW', 'fenghua': 'FHH', 'fenghuangcheng': 'FHT', 'fenghuangjichang': 'FJQ', 'fenglezhen': 'FZB', 'fenglin': 'FLN', 'fenglingdu': 'FLV', 'fengshuicun': 'FSJ', 'fengshun': 'FUQ', 'fengtun': 'FTX', 'fengxian': 'FXY', 'fengyang': 'FUH', 'fengzhen': 'FZC', 'fengzhou': 'FZY', 'fenhe': 'FEV', 'fenyang': 'FAV', 'fenyi': 'FYG', 'foping': 'FUY', 'foshan': 'FSQ', 'foshanxi': 'FOQ', 'fuan': 'FAS', 'fuchuan': 'FDZ', 'fuding': 'FES', 'fuhai': 'FHR', 'fujin': 'FIB', 'fulaerji': 'FRX', 'fuling': 'FLW', 'fulingbei': 'FEW', 'fuliqu': 'FLJ', 'fulitun': 'FTB', 'funan': 'FNH', 'funing': 'FNP', 'fuqing': 'FQS', 'fuquan': 'VMW', 'furongnan': 'KCQ', 'fushankou': 'FKP', 'fushanzhen': 'FZQ', 'fusheng': 'FAW', 'fushun': 'FST', 'fushunbei': 'FET', 'fusong': 'FSL', 'fusui': 'FSZ', 'futian': 'NZQ', 'futuyu': 'FYP', 'fuxian': 'FEY', 'fuxiandong': 'FDY', 'fuxinnan': 'FXD', 'fuyang': 'FYH', 'fuyu': 'FYT', 'fuyuan': 'FYM', 'fuyuanbei': 'FBM', 'fuyubei': 'FBT', 'fuzhou': 'FZS', 'fuzhoubei': 'FBG', 'fuzhoudong': 'FDG', 'fuzhounan': 'FYS', 'gaizhou': 'GXT', 'gaizhouxi': 'GAT', 'gancaodian': 'GDJ', 'gangou': 'GGL', 'gangu': 'GGJ', 'ganhe': 'GAX', 'ganluo': 'VOW', 'ganqika': 'GQD', 'ganquan': 'GQY', 'ganquanbei': 'GEY', 'ganshui': 'GSW', 'ganshuidong': 'GDE', 'gantang': 'GNJ', 'ganzhou': 'GZG', 'gaoan': 'GCG', 'gaobeidian': 'GBP', 'gaobeidiandong': 'GMP', 'gaocheng': 'GEP', 'gaochengnan': 'GUP', 'gaocun': 'GCV', 'gaogezhuang': 'GGP', 'gaohua': 'HGD', 'gaolan': 'GEJ', 'gaoloufang': 'GFM', 'gaomi': 'GMK', 'gaoping': 'GPF', 'gaoqiaozhen': 'GZD', 'gaoshanzi': 'GSD', 'gaotai': 'GTJ', 'gaotainan': 'GAJ', 'gaotan': 'GAY', 'gaoyi': 'GIP', 'gaoyixi': 'GNP', 'gaozhou': 'GSQ', 'gashidianzi': 'GXD', 'gediannan': 'GNN', 'geermu': 'GRO', 'gegenmiao': 'GGT', 'geju': 'GEM', 'genhe': 'GEX', 'gongcheng': 'GCZ', 'gongmiaozi': 'GMC', 'gongnonghu': 'GRT', 'gongpengzi': 'GPT', 'gongqingcheng': 'GAG', 'gongyi': 'GXF', 'gongyinan': 'GYF', 'gongyingzi': 'GYD', 'gongzhuling': 'GLT', 'gongzhulingnan': 'GBT', 'goubangzi': 'GBD', 'guan': 'GFP', 'guangan': 'VJW', 'guangannan': 'VUW', 'guangao': 'GVP', 'guangde': 'GRH', 'guanghan': 'GHW', 'guanghanbei': 'GVW', 'guangmingcheng': 'IMQ', 'guangnanwei': 'GNM', 'guangnanxian': 'GXM', 'guangning': 'FBQ', 'guangningsi': 'GQT', 'guangningsinan': 'GNT', 'guangshan': 'GUN', 'guangshui': 'GSN', 'guangtongbei': 'GPM', 'guangyuan': 'GYW', 'guangyuannan': 'GAW', 'guangze': 'GZS', 'guangzhou': 'GZQ', 'guangzhoubei': 'GBQ', 'guangzhoudong': 'GGQ', 'guangzhounan': 'IZQ', 'guangzhouxi': 'GXQ', 'guanlin': 'GLF', 'guanling': 'GLE', 'guanshaling': 'FKQ', 'guanshui': 'GST', 'guanting': 'GTP', 'guantingxi': 'KEP', 'guanzhaishan': 'GSS', 'guanzijing': 'GOT', 'guazhou': 'GZJ', 'gucheng': 'GCN', 'guchengzhen': 'GZB', 'gudong': 'GDV', 'guian': 'GAE', 'guiding': 'GTW', 'guidingbei': 'FMW', 'guidingnan': 'IDW', 'guidingxian': 'KIW', 'guigang': 'GGZ', 'guilin': 'GLZ', 'guilinbei': 'GBZ', 'guilinxi': 'GEZ', 'guiliuhe': 'GHT', 'guiping': 'GAZ', 'guixi': 'GXG', 'guiyang': 'GIW', 'guiyangbei': 'KQW', 'guiyangdong': 'KEW', 'gujiao': 'GJV', 'gujiazi': 'GKT', 'gulang': 'GLJ', 'gulian': 'GRX', 'guojiadian': 'GDT', 'guoleizhuang': 'GLP', 'guosong': 'GSL', 'guoyang': 'GYH', 'guozhen': 'GZY', 'gushan': 'FFQ', 'gushankou': 'GSP', 'gushi': 'GXN', 'gutian': 'GTS', 'gutianbei': 'GBS', 'gutianhuizhi': 'STS', 'guyuan': 'GYL', 'guzhen': 'GNQ', 'hadapu': 'HDJ', 'haerbin': 'HBB', 'haerbinbei': 'HTB', 'haerbindong': 'VBB', 'haerbinxi': 'VAB', 'haianxian': 'HIH', 'haibei': 'HEB', 'haicheng': 'HCT', 'haichengxi': 'HXT', 'haidongxi': 'HDO', 'haikou': 'VUQ', 'haikoudong': 'HMQ', 'hailaer': 'HRX', 'hailin': 'HRB', 'hailong': 'HIL', 'hailun': 'HLB', 'haining': 'HNH', 'hainingxi': 'EUH', 'haishiwan': 'HSO', 'haituozi': 'HZT', 'haiwan': 'RWH', 'haiyang': 'HYK', 'haiyangbei': 'HEK', 'halahai': 'HIT', 'halasu': 'HAX', 'hami': 'HMR', 'hancheng': 'HCY', 'hanchuan': 'HCN', 'hanconggou': 'HKB', 'handan': 'HDP', 'handandong': 'HPP', 'hanfuwan': 'HXJ', 'hangjinhouqi': 'HDC', 'hangu': 'HGP', 'hangzhou': 'HZH', 'hangzhoudong': 'HGH', 'hangzhounan': 'XHH', 'hanjiang': 'HJS', 'hankou': 'HKN', 'hanling': 'HAT', 'hanmaying': 'HYP', 'hanshou': 'VSQ', 'hanyin': 'HQY', 'hanyuan': 'WHW', 'hanzhong': 'HOY', 'haolianghe': 'HHB', 'hebei': 'HMB', 'hebi': 'HAF', 'hebian': 'HBV', 'hebidong': 'HFF', 'hechuan': 'WKW', 'hechun': 'HCZ', 'hefei': 'HFH', 'hefeibeicheng': 'COH', 'hefeinan': 'ENH', 'hefeixi': 'HTH', 'hegang': 'HGB', 'heichongtan': 'HCJ', 'heihe': 'HJB', 'heijing': 'HIM', 'heishui': 'HOT', 'heitai': 'HQB', 'heiwang': 'HWK', 'hejiadian': 'HJJ', 'hejianxi': 'HXP', 'hejin': 'HJV', 'hejing': 'HJR', 'hekoubei': 'HBM', 'hekounan': 'HKJ', 'heli': 'HOB', 'helong': 'HLL', 'hengdaohezi': 'HDB', 'hengfeng': 'HFG', 'henggouqiaodong': 'HNN', 'hengnan': 'HNG', 'hengshan': 'HSQ', 'hengshanxi': 'HEQ', 'hengshui': 'HSP', 'hengshuibei': 'IHP', 'hengyang': 'HYQ', 'hengyangdong': 'HVQ', 'heping': 'VAQ', 'hepu': 'HVZ', 'heqing': 'HQM', 'heshengqiaodong': 'HLN', 'heshituoluogai': 'VSR', 'heshuo': 'VUR', 'hetang': 'KXQ', 'hetian': 'VTR', 'heyang': 'HAY', 'heyangbei': 'HTY', 'heyuan': 'VIQ', 'heze': 'HIK', 'hezhou': 'HXZ', 'hongan': 'HWN', 'honganxi': 'VXN', 'hongguangzhen': 'IGW', 'hongguo': 'HEM', 'honghe': 'HPB', 'honghuagou': 'VHD', 'hongjiang': 'HFM', 'hongqing': 'HEY', 'hongshan': 'VSB', 'hongshaxian': 'VSJ', 'hongsipu': 'HSJ', 'hongtong': 'HDV', 'hongtongxi': 'HTV', 'hongxiantai': 'HTJ', 'hongxing': 'VXB', 'hongxinglong': 'VHB', 'hongyan': 'VIX', 'houhu': 'IHN', 'houma': 'HMV', 'houmaxi': 'HPV', 'houmen': 'KMQ', 'huacheng': 'VCQ', 'huade': 'HGC', 'huahu': 'KHN', 'huaian': 'AUH', 'huaiannan': 'AMH', 'huaibei': 'HRH', 'huaibeibei': 'PLH', 'huaibin': 'HVN', 'huaihua': 'HHQ', 'huaihuanan': 'KAQ', 'huaiji': 'FAQ', 'huainan': 'HAH', 'huainandong': 'HOH', 'huairen': 'HRV', 'huairendong': 'HFV', 'huairou': 'HRP', 'huairoubei': 'HBP', 'huaiyin': 'IYN', 'huajia': 'HJT', 'huajiazhuang': 'HJM', 'hualin': 'HIB', 'huanan': 'HNB', 'huangbai': 'HBL', 'huangchuan': 'KCN', 'huangcun': 'HCP', 'huanggang': 'KGN', 'huanggangdong': 'KAN', 'huanggangxi': 'KXN', 'huangguayuan': 'HYM', 'huanggutun': 'HTT', 'huanghejingqu': 'HCF', 'huanghuatong': 'HUD', 'huangkou': 'KOH', 'huangling': 'ULY', 'huanglingnan': 'VLY', 'huangliu': 'KLQ', 'huangmei': 'VEH', 'huangnihe': 'HHL', 'huangshan': 'HKH', 'huangshanbei': 'NYH', 'huangshi': 'HSN', 'huangshibei': 'KSN', 'huangshidong': 'OSN', 'huangsongdian': 'HDL', 'huangtudian': 'HKP', 'huangyangtan': 'HGJ', 'huangyangzhen': 'HYJ', 'huangyuan': 'HNO', 'huangzhou': 'VON', 'huantai': 'VTK', 'huanxintian': 'VTB', 'huapengzi': 'HZM', 'huaqiao': 'VQH', 'huarong': 'HRN', 'huarongdong': 'HPN', 'huarongnan': 'KRN', 'huashan': 'HSY', 'huashanbei': 'HDY', 'huashannan': 'KNN', 'huaying': 'HUW', 'huayuan': 'HUN', 'huayuankou': 'HYT', 'huazhou': 'HZZ', 'huhehaote': 'HHC', 'huhehaotedong': 'NDC', 'huian': 'HNS', 'huichangbei': 'XEG', 'huidong': 'KDQ', 'huihuan': 'KHQ', 'huinong': 'HMJ', 'huishan': 'VCH', 'huitong': 'VTQ', 'huixian': 'HYY', 'huizhou': 'HCQ', 'huizhounan': 'KNQ', 'huizhouxi': 'VXQ', 'hukou': 'HKG', 'hulan': 'HUB', 'hulin': 'VLB', 'huludao': 'HLD', 'huludaobei': 'HPD', 'hulusitai': 'VTJ', 'humen': 'IUQ', 'hunchun': 'HUL', 'hunhe': 'HHT', 'huocheng': 'SER', 'huoerguosi': 'HFR', 'huojia': 'HJF', 'huolianzhai': 'HLT', 'huolinguole': 'HWD', 'huoqiu': 'FBH', 'huozhou': 'HZV', 'huozhoudong': 'HWV', 'hushiha': 'HHP', 'hushitai': 'HUT', 'huyi': 'KXY', 'huzhou': 'VZH', 'jiafeng': 'JFF', 'jiagedaqi': 'JGX', 'jialuhe': 'JLF', 'jiamusi': 'JMB', 'jian': 'VAG', 'jianan': 'JUL', 'jianchang': 'JFD', 'jianfeng': 'PFQ', 'jiangbiancun': 'JBG', 'jiangdu': 'UDH', 'jianghua': 'JHZ', 'jiangjia': 'JJB', 'jiangjin': 'JJW', 'jiangle': 'JLS', 'jiangmendong': 'JWQ', 'jiangning': 'JJH', 'jiangningxi': 'OKH', 'jiangqiao': 'JQX', 'jiangshan': 'JUH', 'jiangsuotian': 'JOM', 'jiangyan': 'UEH', 'jiangyong': 'JYZ', 'jiangyou': 'JFW', 'jiangyoubei': 'JBE', 'jiangyuan': 'SZL', 'jianhu': 'AJH', 'jianmenguan': 'JME', 'jianningxianbei': 'JCS', 'jianou': 'JVS', 'jianouxi': 'JUS', 'jiansanjiang': 'JIB', 'jianshan': 'JPQ', 'jianshe': 'JET', 'jianshi': 'JRN', 'jianshui': 'JSM', 'jianyang': 'JYW', 'jianyangnan': 'JOW', 'jiaocheng': 'JNV', 'jiaohe': 'JHL', 'jiaohexi': 'JOL', 'jiaomei': 'JES', 'jiaozhou': 'JXK', 'jiaozhoubei': 'JZK', 'jiaozuo': 'JOF', 'jiaozuodong': 'WEF', 'jiashan': 'JOP', 'jiashannan': 'EAH', 'jiaxiang': 'JUK', 'jiaxing': 'JXH', 'jiaxingnan': 'EPH', 'jiaxinzi': 'JXT', 'jiayuguan': 'JGJ', 'jiayuguannan': 'JBJ', 'jidong': 'JOB', 'jieshoushi': 'JUN', 'jiexiu': 'JXV', 'jiexiudong': 'JDV', 'jieyang': 'JRQ', 'jiguanshan': 'JST', 'jijiagou': 'VJD', 'jilin': 'JLL', 'jiling': 'JLJ', 'jimobei': 'JVK', 'jinan': 'JNK', 'jinandong': 'JAK', 'jinanxi': 'JGK', 'jinbaotun': 'JBD', 'jinchang': 'JCJ', 'jincheng': 'JCF', 'jinchengbei': 'JEF', 'jinchengjiang': 'JJZ', 'jingbian': 'JIY', 'jingchuan': 'JAJ', 'jingde': 'NSH', 'jingdezhen': 'JCG', 'jingdezhenbei': 'JDG', 'jingdian': 'JFP', 'jinggangshan': 'JGG', 'jinghai': 'JHP', 'jinghe': 'JHR', 'jinghenan': 'JIR', 'jingmen': 'JMN', 'jingnan': 'JNP', 'jingoutun': 'VGP', 'jingpeng': 'JPC', 'jingshan': 'JCN', 'jingtai': 'JTJ', 'jingtieshan': 'JVJ', 'jingxi': 'JMZ', 'jingxian': 'LOH', 'jingxing': 'JJP', 'jingyu': 'JYL', 'jingyuan': 'JYJ', 'jingyuanxi': 'JXJ', 'jingzhou': 'JEQ', 'jinhai': 'JHD', 'jinhe': 'JHX', 'jinhua': 'JBH', 'jinhuanan': 'RNH', 'jining': 'JIK', 'jiningnan': 'JAC', 'jinjiang': 'JJS', 'jinjie': 'JEY', 'jinkeng': 'JKT', 'jinmacun': 'JMM', 'jinshanbei': 'EGH', 'jinshantun': 'JTB', 'jinxian': 'JUG', 'jinxiannan': 'JXG', 'jinyintan': 'JTN', 'jinyuewan': 'PYQ', 'jinyun': 'JYH', 'jinyunxi': 'PYH', 'jinzhai': 'JZH', 'jinzhangzi': 'JYD', 'jinzhong': 'JZV', 'jinzhou': 'JXP', 'jinzhounan': 'JOD', 'jishan': 'JVV', 'jishou': 'JIQ', 'jishu': 'JSL', 'jiujiang': 'JJG', 'jiulangshan': 'KJQ', 'jiuquan': 'JQJ', 'jiuquannan': 'JNJ', 'jiusan': 'SSX', 'jiutai': 'JTL', 'jiutainan': 'JNL', 'jiuzhuangwo': 'JVP', 'jiwen': 'JWX', 'jixi': 'JXB', 'jixibei': 'NRH', 'jixixian': 'JRH', 'jiyuan': 'JYF', 'jizhou': 'JKP', 'juancheng': 'JCK', 'jubao': 'JRT', 'junan': 'JOK', 'junde': 'JDB', 'junliangchengbei': 'JMP', 'jurongxi': 'JWH', 'juxian': 'JKK', 'juye': 'JYK', 'kaian': 'KAT', 'kaifeng': 'KFF', 'kaifengbei': 'KBF', 'kaifusi': 'FLQ', 'kaihua': 'KHU', 'kaijiang': 'KAW', 'kaili': 'KLW', 'kailinan': 'QKW', 'kailu': 'KLC', 'kaitong': 'KTT', 'kaiyang': 'KVW', 'kaiyuan': 'KYT', 'kaiyuanxi': 'KXT', 'kalaqi': 'KQX', 'kangcheng': 'KCP', 'kangjinjing': 'KJB', 'kangxiling': 'KXZ', 'kangzhuang': 'KZP', 'kashi': 'KSR', 'kedong': 'KOB', 'kelamayi': 'KHR', 'kelan': 'KLV', 'keshan': 'KSB', 'keyihe': 'KHX', 'kouqian': 'KQL', 'kuandian': 'KDT', 'kuche': 'KCR', 'kuduer': 'KDX', 'kuerle': 'KLR', 'kuishan': 'KAB', 'kuitan': 'KTQ', 'kuitun': 'KTR', 'kulun': 'KLD', 'kundulunzhao': 'KDC', 'kunming': 'KMM', 'kunmingnan': 'KOM', 'kunmingxi': 'KXM', 'kunshan': 'KSH', 'kunshannan': 'KNH', 'kunyang': 'KAM', 'lagu': 'LGB', 'laha': 'LHX', 'laibin': 'UBZ', 'laibinbei': 'UCZ', 'laituan': 'LVZ', 'laiwudong': 'LWK', 'laiwuxi': 'UXK', 'laixi': 'LXK', 'laixibei': 'LBK', 'laiyang': 'LYK', 'laiyuan': 'LYP', 'laizhou': 'LZS', 'lalin': 'LAB', 'lamadian': 'LMX', 'lancun': 'LCK', 'langang': 'LNB', 'langfang': 'LJP', 'langfangbei': 'LFP', 'langweishan': 'LRJ', 'langxiang': 'LXB', 'langzhong': 'LZE', 'lankao': 'LKF', 'lankaonan': 'LUF', 'lanling': 'LLB', 'lanlingbei': 'COK', 'lanxi': 'LWH', 'lanzhou': 'LZJ', 'lanzhoudong': 'LVJ', 'lanzhouxi': 'LAJ', 'lanzhouxinqu': 'LQJ', 'laobian': 'LLT', 'laochengzhen': 'ACQ', 'laofu': 'UFD', 'laolai': 'LAX', 'laoying': 'LXL', 'lasa': 'LSO', 'lazha': 'LEM', 'lechang': 'LCQ', 'lechangdong': 'ILQ', 'ledong': 'UQQ', 'ledu': 'LDO', 'ledunan': 'LVO', 'leiyang': 'LYQ', 'leiyangxi': 'LPQ', 'leizhou': 'UAQ', 'lengshuijiangdong': 'UDQ', 'lepingshi': 'LPG', 'leshan': 'IVW', 'leshanbei': 'UTW', 'leshancun': 'LUM', 'liangdang': 'LDY', 'liangdixia': 'LDP', 'lianggezhuang': 'LGP', 'liangjia': 'UJT', 'liangjiadian': 'LRT', 'liangping': 'UQW', 'liangpingnan': 'LPE', 'liangshan': 'LMK', 'lianjiang': 'LJZ', 'lianjiangkou': 'LHB', 'lianshanguan': 'LGT', 'lianyuan': 'LAQ', 'lianyungang': 'UIH', 'lianyungangdong': 'UKH', 'liaobu': 'LTQ', 'liaocheng': 'UCK', 'liaoyang': 'LYT', 'liaoyuan': 'LYL', 'liaozhong': 'LZD', 'licheng': 'UCP', 'lichuan': 'LCN', 'liduigongyuan': 'INW', 'lijia': 'LJB', 'lijiang': 'LHM', 'lijiaping': 'LIJ', 'lijinnan': 'LNK', 'lilinbei': 'KBQ', 'liling': 'LLG', 'lilingdong': 'UKQ', 'limudian': 'LMB', 'lincheng': 'UUP', 'linchuan': 'LCG', 'lindong': 'LRC', 'linfen': 'LFV', 'linfenxi': 'LXV', 'lingaonan': 'KGQ', 'lingbao': 'LBF', 'lingbaoxi': 'LPF', 'lingbi': 'GMH', 'lingcheng': 'LGK', 'linghai': 'JID', 'lingling': 'UWZ', 'lingqiu': 'LVV', 'lingshi': 'LSV', 'lingshidong': 'UDV', 'lingshui': 'LIQ', 'lingwu': 'LNJ', 'lingyuan': 'LYD', 'lingyuandong': 'LDD', 'linhai': 'UFH', 'linhe': 'LHC', 'linjialou': 'ULK', 'linjiang': 'LQL', 'linkou': 'LKB', 'linli': 'LWQ', 'linqing': 'UQK', 'linshengpu': 'LBT', 'linxi': 'LXC', 'linxiang': 'LXQ', 'linyi': 'LUK', 'linyibei': 'UYK', 'linying': 'LNF', 'linyuan': 'LYX', 'linze': 'LEJ', 'linzenan': 'LDJ', 'liquan': 'LGY', 'lishizhai': 'LET', 'lishui': 'USH', 'lishuzhen': 'LSB', 'litang': 'LTZ', 'liudaohezi': 'LVP', 'liuhe': 'LNL', 'liuhezhen': 'LEX', 'liujiadian': 'UDT', 'liujiahe': 'LVT', 'liujiang': 'UQZ', 'liulinnan': 'LKV', 'liupanshan': 'UPJ', 'liupanshui': 'UMW', 'liushuigou': 'USP', 'liushutun': 'LSD', 'liuyuan': 'DHR', 'liuyuannan': 'LNR', 'liuzhi': 'LIW', 'liuzhou': 'LZZ', 'liwang': 'VLJ', 'lixian': 'LEQ', 'liyang': 'LEH', 'lizhi': 'LZX', 'longandong': 'IDZ', 'longchang': 'LCW', 'longchangbei': 'NWW', 'longchuan': 'LUQ', 'longdongbao': 'FVW', 'longfeng': 'KFQ', 'longgou': 'LGJ', 'longgudian': 'LGM', 'longhua': 'LHP', 'longjia': 'UJL', 'longjiang': 'LJX', 'longjing': 'LJL', 'longkoushi': 'UKK', 'longli': 'LLW', 'longlibei': 'KFW', 'longnan': 'INJ', 'longquansi': 'UQJ', 'longshanzhen': 'LAS', 'longshi': 'LAG', 'longtangba': 'LBM', 'longxi': 'LXJ', 'longxian': 'LXY', 'longyan': 'LYS', 'longyou': 'LMH', 'longzhen': 'LZA', 'longzhuagou': 'LZT', 'loudi': 'LDQ', 'loudinan': 'UOQ', 'loushanguannan': 'LSE', 'luan': 'UAH', 'luanhe': 'UDP', 'luanheyan': 'UNP', 'luanping': 'UPP', 'luanxian': 'UXP', 'luchaogang': 'UCH', 'lucheng': 'UTP', 'luchuan': 'LKZ', 'ludao': 'LDL', 'lueyang': 'LYY', 'lufan': 'LVM', 'lufeng': 'LLQ', 'lufengnan': 'LQM', 'lugou': 'LOM', 'lugu': 'BNQ', 'lujiang': 'UJH', 'lukoupu': 'LKQ', 'luliang': 'LRM', 'lulong': 'UAP', 'luntai': 'LAR', 'luocheng': 'VCZ', 'luofa': 'LOP', 'luohe': 'LON', 'luohexi': 'LBN', 'luohuangnan': 'LNE', 'luojiang': 'LJW', 'luojiangdong': 'IKW', 'luomen': 'LMJ', 'luoping': 'LPM', 'luopoling': 'LPP', 'luoshan': 'LRN', 'luotuoxiang': 'LTJ', 'luowansanjiang': 'KRW', 'luoyang': 'LYF', 'luoyangdong': 'LDF', 'luoyanglongmen': 'LLF', 'luoyuan': 'LVS', 'lushan': 'LSG', 'lushuihe': 'LUL', 'lutai': 'LTP', 'luxi': 'LUG', 'luzhai': 'LIZ', 'luzhaibei': 'LSZ', 'lvboyuan': 'LCF', 'lvhua': 'LWJ', 'lvliang': 'LHV', 'lvshun': 'LST', 'maanshan': 'MAH', 'maanshandong': 'OMH', 'macheng': 'MCN', 'machengbei': 'MBN', 'mahuang': 'MHZ', 'maiyuan': 'MYS', 'malan': 'MLR', 'malianhe': 'MHB', 'malin': 'MID', 'malong': 'MGM', 'manasi': 'MSR', 'manasihu': 'MNR', 'mangui': 'MHX', 'manshuiwan': 'MKW', 'manzhouli': 'MLX', 'maoba': 'MBY', 'maobaguan': 'MGY', 'maocaoping': 'KPM', 'maochen': 'MHN', 'maoershan': 'MRB', 'maolin': 'MLD', 'maoling': 'MLZ', 'maoming': 'MDQ', 'maomingxi': 'MMZ', 'maoshezu': 'MOM', 'maqiaohe': 'MQB', 'masanjia': 'MJT', 'mashan': 'MAB', 'mawei': 'VAW', 'mayang': 'MVQ', 'meihekou': 'MHL', 'meilan': 'MHQ', 'meishan': 'MSW', 'meishandong': 'IUW', 'meixi': 'MEB', 'meizhou': 'MOQ', 'mengdonghe': 'MUQ', 'mengjiagang': 'MGB', 'mengzhuang': 'MZF', 'mengzi': 'MZM', 'mengzibei': 'MBM', 'menyuan': 'MYO', 'mianchi': 'MCF', 'mianchinan': 'MNF', 'mianduhe': 'MDX', 'mianning': 'UGW', 'mianxian': 'MVY', 'mianyang': 'MYW', 'miaocheng': 'MAP', 'miaoling': 'MLL', 'miaoshan': 'MSN', 'miaozhuang': 'MZJ', 'midu': 'MDF', 'mile': 'MLM', 'miluo': 'MLQ', 'miluodong': 'MQQ', 'mingcheng': 'MCL', 'minggang': 'MGN', 'minggangdong': 'MDN', 'mingguang': 'MGH', 'mingshuihe': 'MUT', 'mingzhu': 'MFQ', 'minhenan': 'MNO', 'minji': 'MJN', 'minle': 'MBJ', 'minqing': 'MQS', 'minqingbei': 'MBS', 'minquan': 'MQF', 'minquanbei': 'MIF', 'minxian': 'MXJ', 'mishan': 'MSB', 'mishazi': 'MST', 'miyi': 'MMW', 'miyunbei': 'MUP', 'mizhi': 'MEY', 'modaoshi': 'MOB', 'moerdaoga': 'MRX', 'mohe': 'MVX', 'moyu': 'MUR', 'mudanjiang': 'MDB', 'muling': 'MLB', 'mulitu': 'MUD', 'mupang': 'MPQ', 'muping': 'MBK', 'muyun': 'KIQ', 'nailin': 'NLD', 'naiman': 'NMD', 'naluo': 'ULZ', 'nanboshan': 'NBK', 'nanbu': 'NBE', 'nancao': 'NEF', 'nancha': 'NCB', 'nanchang': 'NCG', 'nanchangxi': 'NXG', 'nancheng': 'NDG', 'nanchengsi': 'NSP', 'nanchong': 'NCW', 'nanchongbei': 'NCE', 'nandamiao': 'NMP', 'nandan': 'NDZ', 'nanfen': 'NFT', 'nanfenbei': 'NUT', 'nanfeng': 'NFG', 'nangongdong': 'NFP', 'nanguancun': 'NGP', 'nanguanling': 'NLT', 'nanhechuan': 'NHJ', 'nanhuabei': 'NHS', 'nanhudong': 'NDN', 'nanjiang': 'FIW', 'nanjiangkou': 'NDQ', 'nanjing': 'NJS', 'nanjingnan': 'NKH', 'nankou': 'NKP', 'nankouqian': 'NKT', 'nanlang': 'NNQ', 'nanling': 'LLH', 'nanmu': 'NMX', 'nanning': 'NNZ', 'nanningdong': 'NFZ', 'nanningxi': 'NXZ', 'nanping': 'NPS', 'nanpingbei': 'NBS', 'nanpingnan': 'NNS', 'nanqiao': 'NQD', 'nanqiu': 'NCK', 'nantai': 'NTT', 'nantong': 'NUH', 'nantou': 'NOQ', 'nanwanzi': 'NWP', 'nanxiangbei': 'NEH', 'nanxiong': 'NCQ', 'nanyang': 'NFF', 'nanyangzhai': 'NYF', 'nanyu': 'NUP', 'nanzamu': 'NZT', 'nanzhao': 'NAF', 'napu': 'NPZ', 'naqu': 'NQO', 'nayong': 'NYE', 'nehe': 'NHX', 'neijiang': 'NJW', 'neijiangbei': 'NKW', 'neixiang': 'NXF', 'nengjia': 'NJD', 'nenjiang': 'NGX', 'niangziguan': 'NIP', 'nianzishan': 'NZX', 'nihezi': 'NHD', 'nileke': 'NIR', 'nimu': 'NMO', 'ningan': 'NAB', 'ningbo': 'NGH', 'ningbodong': 'NVH', 'ningcun': 'NCZ', 'ningde': 'NES', 'ningdong': 'NOJ', 'ningdongnan': 'NDJ', 'ningguo': 'NNH', 'ninghai': 'NHH', 'ningjia': 'NVT', 'ninglingxian': 'NLF', 'ningming': 'NMZ', 'ningqiangnan': 'NOY', 'ningwu': 'NWV', 'ningxiang': 'NXQ', 'niujia': 'NJB', 'niuxintai': 'NXT', 'nongan': 'NAT', 'nuanquan': 'NQJ', 'paihuaibei': 'PHP', 'pananzhen': 'PAJ', 'panguan': 'PAM', 'panjiadian': 'PDP', 'panjin': 'PVD', 'panjinbei': 'PBD', 'panlongcheng': 'PNN', 'panshan': 'PUD', 'panshi': 'PSL', 'panzhihua': 'PRW', 'panzhou': 'PAE', 'paozi': 'POD', 'peide': 'PDB', 'pengan': 'PAW', 'penglaishi': 'POK', 'pengshan': 'PSW', 'pengshanbei': 'PPW', 'pengshui': 'PHW', 'pengyang': 'PYJ', 'pengze': 'PZG', 'pengzhou': 'PMW', 'piandian': 'PRP', 'pianling': 'PNT', 'piaoertun': 'PRT', 'pikou': 'PUT', 'pikounan': 'PKT', 'pingan': 'PAL', 'pinganyi': 'PNO', 'pinganzhen': 'PZT', 'pingbanan': 'PBE', 'pingbian': 'PBM', 'pingchang': 'PCE', 'pingdingshan': 'PEN', 'pingdingshanxi': 'BFF', 'pingdu': 'PAK', 'pingfang': 'PFB', 'pinggang': 'PGL', 'pingguan': 'PGM', 'pingguo': 'PGZ', 'pinghekou': 'PHM', 'pinghu': 'PHQ', 'pingliang': 'PIJ', 'pingliangnan': 'POJ', 'pingnannan': 'PAZ', 'pingquan': 'PQP', 'pingshan': 'PSB', 'pingshang': 'PSK', 'pingshe': 'PSV', 'pingshi': 'PSQ', 'pingtai': 'PVT', 'pingtian': 'PTM', 'pingwang': 'PWV', 'pingxiang': 'PXG', 'pingxiangbei': 'PBG', 'pingxingguan': 'PGV', 'pingyang': 'PYX', 'pingyao': 'PYV', 'pingyaogucheng': 'PDV', 'pingyi': 'PIK', 'pingyu': 'PYP', 'pingyuan': 'PYK', 'pingyuandong': 'PUK', 'pingyuanpu': 'PPJ', 'pingzhuang': 'PZD', 'pingzhuangnan': 'PND', 'pishan': 'PSR', 'pixian': 'PWW', 'pixianxi': 'PCW', 'pizhou': 'PJH', 'podixia': 'PXJ', 'poyang': 'PYG', 'puan': 'PAN', 'puanxian': 'PUE', 'pucheng': 'PCY', 'puchengdong': 'PEY', 'puding': 'PGW', 'pulandian': 'PLT', 'puning': 'PEQ', 'putaojing': 'PTW', 'putian': 'PTS', 'puwan': 'PWT', 'puxiong': 'POW', 'puyang': 'PYF', 'puzhehei': 'PZM', 'qianan': 'QOT', 'qianfeng': 'QFB', 'qianhe': 'QUY', 'qianjiang': 'QJN', 'qianjinzhen': 'QEB', 'qianmotou': 'QMP', 'qianshan': 'QXQ', 'qianwei': 'QWD', 'qianweitang': 'QWP', 'qianxian': 'QBY', 'qianyang': 'QOY', 'qiaotou': 'QAT', 'qiaoxi': 'QXJ', 'qichun': 'QRN', 'qidian': 'QDM', 'qidong': 'QMQ', 'qidongbei': 'QRQ', 'qifengta': 'QVP', 'qijiang': 'QJW', 'qijiangdong': 'QDE', 'qijiapu': 'QBT', 'qilihe': 'QLD', 'qimen': 'QIH', 'qinan': 'QGJ', 'qingan': 'QAB', 'qingbaijiangdong': 'QFW', 'qingchengshan': 'QSW', 'qingchuan': 'QCE', 'qingdao': 'QDK', 'qingdaobei': 'QHK', 'qingdui': 'QET', 'qingfeng': 'QFT', 'qinghe': 'QIP', 'qinghecheng': 'QYP', 'qinghemen': 'QHD', 'qinghuayuan': 'QHP', 'qingjianxian': 'QNY', 'qinglian': 'QEW', 'qinglong': 'QIB', 'qinglongshan': 'QGH', 'qingshan': 'QSB', 'qingshen': 'QVW', 'qingsheng': 'QSQ', 'qingshui': 'QUJ', 'qingshuibei': 'QEJ', 'qingshuixian': 'QIJ', 'qingtian': 'QVH', 'qingtongxia': 'QTJ', 'qingxian': 'QXP', 'qingxu': 'QUV', 'qingyangshan': 'QSJ', 'qingyuan': 'QBQ', 'qingzhoushi': 'QZK', 'qinhuangdao': 'QTP', 'qinjia': 'QJB', 'qinjiazhuang': 'QZV', 'qinling': 'QLY', 'qinxian': 'QVV', 'qinyang': 'QYF', 'qinzhou': 'QRZ', 'qinzhoudong': 'QDZ', 'qionghai': 'QYQ', 'qiqihaer': 'QHX', 'qiqihaernan': 'QNB', 'qishan': 'QAY', 'qishuyan': 'QYH', 'qitaihe': 'QTB', 'qixian': 'QXV', 'qixiandong': 'QGV', 'qixiaying': 'QXC', 'qixiayingnan': 'QNC', 'qiyang': 'QWQ', 'qiyangbei': 'QVQ', 'qiying': 'QYJ', 'qiziwan': 'QZQ', 'quanjiao': 'INH', 'quanyang': 'QYL', 'quanzhou': 'QYS', 'quanzhoudong': 'QRS', 'quanzhounan': 'QNZ', 'queshan': 'QSN', 'qufu': 'QFK', 'qufudong': 'QAK', 'qujiang': 'QIM', 'qujing': 'QJM', 'qujingbei': 'QBM', 'qujiu': 'QJZ', 'quli': 'QLZ', 'qushuixian': 'QSO', 'quxian': 'QRW', 'quzhou': 'QEH', 'raoping': 'RVQ', 'raoyang': 'RVP', 'raoyanghe': 'RHD', 'renbu': 'RUO', 'renqiu': 'RQP', 'reshui': 'RSD', 'rikaze': 'RKO', 'rizhao': 'RZK', 'rongan': 'RAZ', 'rongchang': 'RCW', 'rongchangbei': 'RQW', 'rongcheng': 'RCK', 'ronggui': 'RUQ', 'rongjiang': 'RVW', 'rongshui': 'RSZ', 'rongxian': 'RXZ', 'rudong': 'RIH', 'rugao': 'RBH', 'ruian': 'RAH', 'ruichang': 'RCG', 'ruichangxi': 'RXG', 'ruijin': 'RJG', 'rujigou': 'RQJ', 'rushan': 'ROK', 'ruyang': 'RYF', 'ruzhou': 'ROF', 'saihantala': 'SHC', 'salaqi': 'SLC', 'sandaohu': 'SDL', 'sanduxian': 'KKW', 'sanggendalai': 'OGC', 'sanguankou': 'OKJ', 'sangyuanzi': 'SAJ', 'sanhexian': 'OXP', 'sanhezhuang': 'SVP', 'sanhuizhen': 'OZW', 'sanjiadian': 'ODP', 'sanjianfang': 'SFX', 'sanjiangkou': 'SKD', 'sanjiangnan': 'SWZ', 'sanjiangxian': 'SOZ', 'sanjiazhai': 'SMM', 'sanjingzi': 'OJT', 'sanmenxia': 'SMF', 'sanmenxian': 'OQH', 'sanmenxianan': 'SCF', 'sanmenxiaxi': 'SXF', 'sanming': 'SMS', 'sanmingbei': 'SHS', 'sanshijia': 'SRD', 'sanshilipu': 'SST', 'sanshui': 'SJQ', 'sanshuibei': 'ARQ', 'sanshuinan': 'RNQ', 'sansui': 'QHW', 'santangji': 'SDH', 'sanya': 'JUQ', 'sanyangchuan': 'SYJ', 'sanyijing': 'OYD', 'sanying': 'OEJ', 'sanyuan': 'SAY', 'sanyuanpu': 'SYL', 'shache': 'SCR', 'shacheng': 'SCP', 'shahai': 'SED', 'shahe': 'SHP', 'shahekou': 'SKT', 'shaheshi': 'VOP', 'shahousuo': 'SSD', 'shalingzi': 'SLP', 'shalingzixi': 'IXP', 'shanchengzhen': 'SCL', 'shandan': 'SDJ', 'shangbancheng': 'SBP', 'shangbanchengnan': 'OBP', 'shangcheng': 'SWN', 'shangdu': 'SXC', 'shanggaozhen': 'SVK', 'shanghai': 'SHH', 'shanghaihongqiao': 'AOH', 'shanghainan': 'SNH', 'shanghaixi': 'SXH', 'shanghang': 'JBS', 'shanghe': 'SOK', 'shangjia': 'SJB', 'shangluo': 'OLY', 'shangnan': 'ONY', 'shangqiu': 'SQF', 'shangqiunan': 'SPF', 'shangrao': 'SRG', 'shangwan': 'SWP', 'shangxipu': 'SXM', 'shangyaodun': 'SPJ', 'shangyu': 'BDH', 'shangyuan': 'SUD', 'shangzhi': 'SZB', 'shanhaiguan': 'SHD', 'shanhetun': 'SHL', 'shanpodong': 'SBN', 'shanshan': 'SSR', 'shanshanbei': 'SMR', 'shanshi': 'SQB', 'shantou': 'OTQ', 'shanwei': 'OGQ', 'shanyin': 'SNV', 'shaodong': 'FIQ', 'shaoguan': 'SNQ', 'shaoguandong': 'SGQ', 'shaojiatang': 'SJJ', 'shaoshan': 'SSQ', 'shaoshannan': 'INQ', 'shaowu': 'SWS', 'shaoxing': 'SOH', 'shaoxingbei': 'SLH', 'shaoxingdong': 'SSH', 'shaoyang': 'SYQ', 'shaoyangbei': 'OVQ', 'shapingba': 'CYW', 'shapotou': 'SFJ', 'shaqiao': 'SQM', 'shatuo': 'SFM', 'shawanxian': 'SXR', 'shaxian': 'SAS', 'shelihu': 'VLD', 'shenchi': 'SMV', 'shenfang': 'OLH', 'shengfang': 'SUP', 'shenjia': 'OJB', 'shenjiahe': 'OJJ', 'shenjingzi': 'SWT', 'shenmu': 'OMY', 'shenqiu': 'SQN', 'shenshu': 'SWB', 'shentou': 'SEV', 'shenyang': 'SYT', 'shenyangbei': 'SBT', 'shenyangdong': 'SDT', 'shenyangnan': 'SOT', 'shenzhen': 'SZQ', 'shenzhenbei': 'IOQ', 'shenzhendong': 'BJQ', 'shenzhenpingshan': 'IFQ', 'shenzhenxi': 'OSQ', 'shenzhou': 'OZP', 'shexian': 'OVH', 'shexianbei': 'NPH', 'shiba': 'OBJ', 'shibing': 'AQW', 'shiboyuan': 'ZWT', 'shicheng': 'SCT', 'shidu': 'SEP', 'shihezi': 'SZR', 'shijiazhuang': 'SJP', 'shijiazhuangbei': 'VVP', 'shijiazhuangdong': 'SXP', 'shijiazi': 'SJD', 'shijiazui': 'SHM', 'shijingshannan': 'SRP', 'shilidian': 'OMP', 'shilin': 'SPB', 'shiling': 'SOL', 'shilinnan': 'LNM', 'shilinxi': 'SYM', 'shilong': 'SLQ', 'shimenxian': 'OMQ', 'shimenxianbei': 'VFQ', 'shiqiao': 'SQE', 'shiqiaozi': 'SQT', 'shiquanxian': 'SXY', 'shiren': 'SRL', 'shirencheng': 'SRB', 'shishan': 'KSQ', 'shishanbei': 'NSQ', 'shiti': 'STE', 'shitou': 'OTB', 'shixian': 'SXL', 'shixiazi': 'SXJ', 'shixing': 'IPQ', 'shiyan': 'SNN', 'shizhuang': 'SNM', 'shizhuxian': 'OSW', 'shizong': 'SEM', 'shizuishan': 'QQJ', 'shoushan': 'SAT', 'shouyang': 'SYV', 'shuangchengbei': 'SBB', 'shuangchengpu': 'SCB', 'shuangfeng': 'OFB', 'shuangfengbei': 'NFQ', 'shuanghezhen': 'SEL', 'shuangji': 'SML', 'shuangliao': 'ZJD', 'shuangliujichang': 'IPW', 'shuangliuxi': 'IQW', 'shuangpai': 'SBZ', 'shuangyang': 'OYT', 'shuangyashan': 'SSB', 'shucheng': 'OCH', 'shuidong': 'SIL', 'shuifu': 'OTW', 'shuijiahu': 'SQH', 'shuiquan': 'SID', 'shuiyang': 'OYP', 'shuiyuan': 'OYJ', 'shulan': 'SLL', 'shule': 'SUR', 'shulehe': 'SHJ', 'shumuling': 'FMQ', 'shunchang': 'SCS', 'shunde': 'ORQ', 'shundexueyuan': 'OJQ', 'shunyi': 'SOP', 'shuozhou': 'SUV', 'shuyang': 'FMH', 'sidaowan': 'OUD', 'sifangtai': 'STB', 'siheyong': 'OHD', 'sihong': 'GQH', 'sihui': 'AHQ', 'sijialing': 'OLK', 'siping': 'SPT', 'sipingdong': 'PPT', 'sishui': 'OSK', 'sixian': 'GPH', 'siyang': 'MPH', 'song': 'SOB', 'songchenglu': 'SFF', 'songhe': 'SBM', 'songjiang': 'SAH', 'songjianghe': 'SJL', 'songjiangnan': 'IMH', 'songjiangzhen': 'OZL', 'songming': 'SVM', 'songshanhubei': 'KUQ', 'songshu': 'SFT', 'songshuzhen': 'SSL', 'songtao': 'MZQ', 'songyuan': 'VYT', 'songyuanbei': 'OCT', 'songzi': 'SIN', 'suide': 'ODY', 'suifenhe': 'SFB', 'suihua': 'SHB', 'suiling': 'SIB', 'suining': 'NIW', 'suiping': 'SON', 'suixi': 'SXZ', 'suiyang': 'SYB', 'suizhong': 'SZD', 'suizhongbei': 'SND', 'suizhou': 'SZN', 'sujiatun': 'SXT', 'suning': 'SYP', 'sunitezuoqi': 'ONC', 'sunjia': 'SUB', 'sunwu': 'SKB', 'sunzhen': 'OZY', 'suolun': 'SNT', 'suotuhan': 'SHX', 'susong': 'OAH', 'suzhou': 'OXH', 'suzhoubei': 'OHH', 'suzhoudong': 'SRH', 'suzhouxinqu': 'ITH', 'suzhouyuanqu': 'KAH', 'taerqi': 'TVX', 'taha': 'THX', 'tahe': 'TXX', 'taian': 'TID', 'taiannan': 'TAD', 'taigu': 'TGV', 'taiguxi': 'TIV', 'taihe': 'THG', 'taihebei': 'JYN', 'taihu': 'TKH', 'taikang': 'TKX', 'tailai': 'TLX', 'taimushan': 'TLS', 'taining': 'TNS', 'taipingchuan': 'TIT', 'taipingzhen': 'TEB', 'taiqian': 'TTK', 'taishan': 'TAK', 'taiyangshan': 'TYJ', 'taiyangsheng': 'TQT', 'taiyuan': 'TYV', 'taiyuanbei': 'TBV', 'taiyuandong': 'TDV', 'taiyuannan': 'TNV', 'taizhou': 'TZH', 'tancheng': 'TZK', 'tangbao': 'TBQ', 'tangchi': 'TCX', 'tanggu': 'TGP', 'tanghai': 'THM', 'tanghe': 'THF', 'tangjiawan': 'PDQ', 'tangshan': 'TSP', 'tangshanbei': 'FUP', 'tangshancheng': 'TCT', 'tangwanghe': 'THB', 'tangxunhu': 'THN', 'tangyin': 'TYF', 'tangyuan': 'TYB', 'tanjiajing': 'TNJ', 'taocun': 'TCK', 'taocunbei': 'TOK', 'taojiatun': 'TOT', 'taolaizhao': 'TPT', 'taonan': 'TVT', 'taoshan': 'TAB', 'tashizui': 'TIM', 'tayayi': 'TYP', 'tengxian': 'TAZ', 'tengzhou': 'TXK', 'tengzhoudong': 'TEK', 'tiandong': 'TDZ', 'tiandongbei': 'TBZ', 'tiangang': 'TGL', 'tianhejichang': 'TJN', 'tianhejie': 'TEN', 'tianjin': 'TJP', 'tianjinbei': 'TBP', 'tianjinnan': 'TIP', 'tianjinxi': 'TXP', 'tianlin': 'TFZ', 'tianmen': 'TMN', 'tianmennan': 'TNN', 'tianqiaoling': 'TQL', 'tianshifu': 'TFT', 'tianshui': 'TSJ', 'tianshuinan': 'TIJ', 'tianxindong': 'KQQ', 'tianyang': 'TRZ', 'tianyi': 'TND', 'tianzhen': 'TZV', 'tianzhu': 'TZJ', 'tianzhushan': 'QWH', 'tiechang': 'TCL', 'tieli': 'TLB', 'tieling': 'TLT', 'tielingxi': 'PXT', 'tingliang': 'TIZ', 'tonganyi': 'TAJ', 'tongbai': 'TBF', 'tongbei': 'TBB', 'tongcheng': 'TTH', 'tongdao': 'TRQ', 'tonggou': 'TOL', 'tongguan': 'TGY', 'tonghai': 'TAM', 'tonghua': 'THL', 'tonghuaxian': 'TXL', 'tongjiang': 'TJB', 'tongjunzhuang': 'TZP', 'tongliao': 'TLD', 'tongling': 'TJH', 'tonglingbei': 'KXH', 'tongnan': 'TVW', 'tongren': 'RDQ', 'tongrennan': 'TNW', 'tongtu': 'TUT', 'tongwei': 'TWJ', 'tongxiang': 'TCH', 'tongxin': 'TXJ', 'tongyuanpu': 'TYT', 'tongyuanpuxi': 'TST', 'tongzhou': 'TOP', 'tongzhouxi': 'TAP', 'tongzi': 'TZW', 'tongzibei': 'TBE', 'tongzidong': 'TDE', 'tongzilin': 'TEW', 'tuanjie': 'TIX', 'tuditangdong': 'TTN', 'tuguiwula': 'TGC', 'tuha': 'THR', 'tuliemaodu': 'TMD', 'tulihe': 'TEX', 'tulufan': 'TFR', 'tulufanbei': 'TAR', 'tumen': 'TML', 'tumenbei': 'QSL', 'tumenzi': 'TCJ', 'tumuertai': 'TRC', 'tuoyaoling': 'TIL', 'tuqiang': 'TQX', 'tuqiaozi': 'TQJ', 'tuxi': 'TSW', 'wafangdian': 'WDT', 'wafangdianxi': 'WXT', 'waitoushan': 'WIT', 'walagan': 'WVX', 'wanfatun': 'WFB', 'wanganzhen': 'WVP', 'wangcang': 'WEW', 'wangdu': 'WDP', 'wangfu': 'WUT', 'wanggang': 'WGB', 'wangjiawan': 'WJJ', 'wangjiayingxi': 'KNM', 'wangou': 'WGL', 'wangqing': 'WQL', 'wangtong': 'WTP', 'wangtuanzhuang': 'WZJ', 'wangyang': 'WYB', 'wangzhaotun': 'WZB', 'wanle': 'WEB', 'wannian': 'WWG', 'wanning': 'WNQ', 'wanyuan': 'WYY', 'wanzhou': 'WYW', 'wanzhoubei': 'WZE', 'wawushan': 'WAH', 'wayaotian': 'WIM', 'weidong': 'WVT', 'weifang': 'WFK', 'weihai': 'WKK', 'weihaibei': 'WHK', 'weihe': 'WHB', 'weihui': 'WHF', 'weihulingbei': 'WBL', 'weijin': 'WJL', 'weinan': 'WNY', 'weinanbei': 'WBY', 'weinannan': 'WVY', 'weinanzhen': 'WNJ', 'weiqing': 'WAM', 'weishanzhuang': 'WSP', 'weishe': 'WSM', 'weixing': 'WVB', 'weiyuan': 'WEJ', 'weizhangzi': 'WKD', 'weizhuang': 'WZY', 'weizigou': 'WZL', 'weizizhen': 'WQP', 'wenan': 'WBP', 'wenchang': 'WEQ', 'wenchun': 'WDB', 'wendeng': 'WBK', 'wendengdong': 'WGK', 'wendi': 'WNZ', 'wenling': 'VHH', 'wenshui': 'WEV', 'wenxi': 'WXV', 'wenxixi': 'WOV', 'wenzhou': 'RZH', 'wenzhounan': 'VRH', 'woken': 'WQB', 'wolitun': 'WLX', 'wopi': 'WPT', 'wuan': 'WAP', 'wubu': 'WUY', 'wuchagou': 'WCT', 'wuchang': 'WCB', 'wudalianchi': 'WRB', 'wudangshan': 'WRN', 'wudaogou': 'WDL', 'wudaohe': 'WHP', 'wuerqihan': 'WHX', 'wufushan': 'WFG', 'wugong': 'WGY', 'wuguantian': 'WGM', 'wuhai': 'WVC', 'wuhaixi': 'WXC', 'wuhan': 'WHN', 'wuhu': 'WHH', 'wuji': 'WJP', 'wujia': 'WUB', 'wujiachuan': 'WCJ', 'wujiatun': 'WJT', 'wukeshu': 'WKT', 'wulanchabu': 'WPC', 'wulanhada': 'WLC', 'wulanhaote': 'WWT', 'wulashan': 'WSC', 'wulateqianqi': 'WQC', 'wulian': 'WLK', 'wulong': 'WLW', 'wulongbei': 'WBT', 'wulongbeidong': 'WMT', 'wulongquannan': 'WFN', 'wulumuqi': 'WAR', 'wulumuqinan': 'WMR', 'wunuer': 'WRX', 'wunvshan': 'WET', 'wuqiao': 'WUP', 'wuqing': 'WWP', 'wushan': 'WSJ', 'wusheng': 'WSE', 'wutaishan': 'WSV', 'wuwei': 'WUJ', 'wuweinan': 'WWJ', 'wuwu': 'WVR', 'wuxi': 'WXH', 'wuxiang': 'WVV', 'wuxidong': 'WGH', 'wuxixinqu': 'IFH', 'wuxu': 'WYZ', 'wuxue': 'WXN', 'wuyi': 'RYH', 'wuyibei': 'WDH', 'wuyiling': 'WPB', 'wuying': 'WWB', 'wuyishan': 'WAS', 'wuyishanbei': 'WBS', 'wuyishandong': 'WCS', 'wuyuan': 'WYC', 'wuzhai': 'WZV', 'wuzhi': 'WIF', 'wuzhou': 'WZZ', 'wuzhounan': 'WBZ', 'xiabancheng': 'EBP', 'xiachengzi': 'XCB', 'xiaguanying': 'XGJ', 'xiahuayuan': 'XYP', 'xiajiang': 'EJG', 'xiamatang': 'XAT', 'xiamen': 'XMS', 'xiamenbei': 'XKS', 'xiamengaoqi': 'XBS', 'xian': 'XAY', 'xianbei': 'EAY', 'xianfeng': 'NQQ', 'xiangcheng': 'ERN', 'xiangfang': 'XFB', 'xiangfen': 'XFV', 'xiangfenxi': 'XTV', 'xiangfulu': 'FVQ', 'xianghe': 'XXB', 'xianglan': 'XNB', 'xiangtan': 'XTQ', 'xiangtanbei': 'EDQ', 'xiangtang': 'XTG', 'xiangxiang': 'XXQ', 'xiangyang': 'XFN', 'xiangyangdong': 'XWN', 'xiangyuan': 'EIF', 'xiangyun': 'EXM', 'xiangzhanglu': 'FNQ', 'xianlin': 'XPH', 'xiannan': 'CAY', 'xianning': 'XNN', 'xianningbei': 'XRN', 'xianningdong': 'XKN', 'xianningnan': 'UNN', 'xianrenqiao': 'XRL', 'xiantaoxi': 'XAN', 'xianyang': 'XYY', 'xianyangqindu': 'XOY', 'xianyou': 'XWS', 'xiaocun': 'XEM', 'xiaodejiang': 'EJM', 'xiaodong': 'XOD', 'xiaogan': 'XGN', 'xiaoganbei': 'XJN', 'xiaogandong': 'GDN', 'xiaoheyan': 'XYD', 'xiaohezhen': 'EKY', 'xiaojinkou': 'NKQ', 'xiaolan': 'EAQ', 'xiaoling': 'XLB', 'xiaonan': 'XNV', 'xiaoshao': 'XAM', 'xiaoshi': 'XST', 'xiaosigou': 'ESP', 'xiaoxi': 'XOV', 'xiaoxianbei': 'QSH', 'xiaoxinjie': 'XXM', 'xiaoxizhuang': 'XXP', 'xiaoyangqi': 'XYX', 'xiaoyuejiu': 'XFM', 'xiaoyugu': 'XHM', 'xiapu': 'XOS', 'xiashe': 'XSV', 'xiashi': 'XIZ', 'xiataizi': 'EIP', 'xiayixian': 'EJH', 'xibali': 'XLP', 'xichang': 'ECW', 'xichangnan': 'ENW', 'xidamiao': 'XMP', 'xide': 'EDW', 'xiehejian': 'EEP', 'xiejiazhen': 'XMT', 'xifeng': 'XFT', 'xigangzi': 'NBB', 'xigu': 'XIJ', 'xigucheng': 'XUJ', 'xihudong': 'WDQ', 'xijiekou': 'EKM', 'xilin': 'XYB', 'xilinhaote': 'XTC', 'xiliu': 'GCT', 'ximashan': 'XMB', 'xinan': 'EAM', 'xinanxian': 'XAF', 'xinbaoan': 'XAP', 'xinchengzi': 'XCT', 'xinchuoyuan': 'XRX', 'xindudong': 'EWW', 'xinfeng': 'EFG', 'xingan': 'XAZ', 'xinganbei': 'XDZ', 'xingcheng': 'XCD', 'xingguo': 'EUG', 'xinghexi': 'XEC', 'xingkai': 'EKB', 'xinglongdian': 'XDD', 'xinglongxian': 'EXP', 'xinglongzhen': 'XZB', 'xingning': 'ENQ', 'xingping': 'XPY', 'xingquanbu': 'XQJ', 'xingshu': 'XSB', 'xingshutun': 'XDT', 'xingtai': 'XTP', 'xingtaidong': 'EDP', 'xingye': 'SNZ', 'xingyi': 'XRZ', 'xinhe': 'XIR', 'xinhua': 'EHQ', 'xinhuanan': 'EJQ', 'xinhuang': 'XLQ', 'xinhuangxi': 'EWQ', 'xinhuatun': 'XAX', 'xinhui': 'EFQ', 'xining': 'XNO', 'xinji': 'ENP', 'xinjiang': 'XJV', 'xinjin': 'IRW', 'xinjinan': 'IJP', 'xinjinnan': 'ITW', 'xinle': 'ELP', 'xinli': 'XLJ', 'xinlin': 'XPX', 'xinlitun': 'XLD', 'xinlizhen': 'XGT', 'xinmin': 'XMD', 'xinpingtian': 'XPM', 'xinqing': 'XQB', 'xinqiu': 'XQD', 'xinsongpu': 'XOB', 'xinwopu': 'EPD', 'xinxian': 'XSN', 'xinxiang': 'XXF', 'xinxiangdong': 'EGF', 'xinxingxian': 'XGQ', 'xinyang': 'XUN', 'xinyangdong': 'OYN', 'xinyangzhen': 'XZJ', 'xinyi': 'EEQ', 'xinyouyi': 'EYB', 'xinyu': 'XUG', 'xinyubei': 'XBG', 'xinzhangfang': 'XZX', 'xinzhangzi': 'ERP', 'xinzhao': 'XZT', 'xinzhengjichang': 'EZF', 'xinzhou': 'XXV', 'xiongyuecheng': 'XYT', 'xiping': 'XPN', 'xipingxi': 'EGQ', 'xipu': 'XIW', 'xipudong': 'XAW', 'xishui': 'XZN', 'xiushan': 'ETW', 'xiuwenxian': 'XWE', 'xiuwu': 'XWF', 'xiuwuxi': 'EXF', 'xiwuqi': 'XWC', 'xixia': 'XIF', 'xixian': 'ENN', 'xixiang': 'XQY', 'xixiaozhao': 'XZC', 'xiyangcun': 'XQF', 'xizhelimu': 'XRD', 'xizi': 'XZD', 'xuancheng': 'ECH', 'xuangang': 'XGV', 'xuanhan': 'XHY', 'xuanhe': 'XWJ', 'xuanhua': 'XHP', 'xuanwei': 'XWM', 'xuanzhong': 'XRP', 'xuchang': 'XCF', 'xuchangdong': 'XVF', 'xujia': 'XJB', 'xujiatai': 'XTJ', 'xujiatun': 'XJT', 'xunyang': 'XUY', 'xunyangbei': 'XBY', 'xupu': 'EPQ', 'xupunan': 'EMQ', 'xusanwan': 'XSJ', 'xushui': 'XSP', 'xuwen': 'XJQ', 'xuzhou': 'XCH', 'xuzhoudong': 'UUH', 'yabuli': 'YBB', 'yabulinan': 'YWB', 'yakeshi': 'YKX', 'yalongwan': 'TWQ', 'yanan': 'YWY', 'yancheng': 'AFH', 'yanchi': 'YAP', 'yanchuan': 'YYY', 'yandangshan': 'YGH', 'yangang': 'YGW', 'yangcao': 'YAB', 'yangcaodi': 'YKM', 'yangcha': 'YAL', 'yangcheng': 'YNF', 'yangchenghu': 'AIH', 'yangchun': 'YQQ', 'yangcun': 'YBP', 'yanggang': 'YRB', 'yanggao': 'YOV', 'yanggu': 'YIK', 'yanghe': 'GTH', 'yangjiuhe': 'YHM', 'yanglin': 'YLM', 'yangling': 'YSY', 'yanglingnan': 'YEY', 'yangliuqing': 'YQP', 'yangmingbu': 'YVV', 'yangpingguan': 'YAY', 'yangpu': 'ABM', 'yangqu': 'YQV', 'yangquan': 'AQP', 'yangquanbei': 'YPP', 'yangquanqu': 'YYV', 'yangshuling': 'YAD', 'yangshuo': 'YCZ', 'yangweishao': 'YWM', 'yangxianxi': 'YXY', 'yangxin': 'YON', 'yangyi': 'ARP', 'yangzhangzi': 'YZD', 'yangzhewo': 'AEM', 'yangzhou': 'YLH', 'yanhecheng': 'YHP', 'yanhui': 'AEP', 'yanji': 'YJL', 'yanjiao': 'AJP', 'yanjiazhuang': 'AZK', 'yanjin': 'AEW', 'yanjixi': 'YXL', 'yanliang': 'YNY', 'yanling': 'YAG', 'yanqi': 'YSR', 'yanqing': 'YNP', 'yanshan': 'AOP', 'yanshi': 'YSF', 'yantai': 'YAK', 'yantainan': 'YLK', 'yantaixi': 'YTK', 'yantongshan': 'YSL', 'yantongtun': 'YUX', 'yanzhou': 'YZK', 'yanzibian': 'YZY', 'yaoan': 'YAC', 'yaodu': 'AOJ', 'yaojia': 'YAT', 'yaoqianhutun': 'YQT', 'yaoshang': 'ASP', 'yatunpu': 'YTZ', 'yayuan': 'YYL', 'yazhou': 'YUQ', 'yebaishou': 'YBD', 'yecheng': 'YER', 'yesanpo': 'AIP', 'yian': 'YAX', 'yibin': 'YBW', 'yichang': 'YCN', 'yichangdong': 'HAN', 'yicheng': 'YIN', 'yichun': 'YEG', 'yichunxi': 'YCG', 'yiershi': 'YET', 'yijiang': 'RVH', 'yijianpu': 'YJT', 'yilaha': 'YLX', 'yiliang': 'ALW', 'yiliangbei': 'YSM', 'yilin': 'YLB', 'yima': 'YMF', 'yimianpo': 'YPB', 'yimianshan': 'YST', 'yimin': 'YMX', 'yinai': 'YVM', 'yinan': 'YNK', 'yinchuan': 'YIJ', 'yindi': 'YDM', 'yingbinlu': 'YFW', 'yingcheng': 'YHN', 'yingchengzi': 'YCT', 'yingchun': 'YYB', 'yingde': 'YDQ', 'yingdexi': 'IIQ', 'yingjie': 'YAM', 'yingjisha': 'YIR', 'yingkou': 'YKT', 'yingkoudong': 'YGT', 'yingpanshui': 'YZJ', 'yingshan': 'NUW', 'yingshang': 'YVH', 'yingshouyingzi': 'YIP', 'yingtan': 'YTG', 'yingtanbei': 'YKG', 'yingxian': 'YZV', 'yining': 'YMR', 'yiningdong': 'YNR', 'yinlang': 'YJX', 'yinping': 'KPQ', 'yintan': 'CTQ', 'yishui': 'YUK', 'yitong': 'YTL', 'yitulihe': 'YEX', 'yiwu': 'YWH', 'yixian': 'YXD', 'yixing': 'YUH', 'yiyang': 'AEQ', 'yizheng': 'UZH', 'yizhou': 'YSZ', 'yizi': 'YQM', 'yongan': 'YAS', 'yonganxiang': 'YNB', 'yongchengbei': 'RGH', 'yongchuan': 'YCW', 'yongchuandong': 'WMW', 'yongdeng': 'YDJ', 'yongding': 'YGS', 'yongfengying': 'YYM', 'yongfunan': 'YBZ', 'yongji': 'YIV', 'yongjia': 'URH', 'yongjibei': 'AJV', 'yongkang': 'RFH', 'yongkangnan': 'QUH', 'yonglang': 'YLW', 'yongledian': 'YDY', 'yongshou': 'ASY', 'yongtai': 'YTS', 'yongxiu': 'ACG', 'yongzhou': 'AOQ', 'youhao': 'YOB', 'youxi': 'YXS', 'youxian': 'YOG', 'youxiannan': 'YXG', 'youyang': 'AFW', 'yuanbaoshan': 'YUD', 'yuandun': 'YAJ', 'yuanmou': 'YMM', 'yuanping': 'YPV', 'yuanqian': 'AQK', 'yuanshi': 'YSP', 'yuantan': 'YTQ', 'yuanyangzhen': 'YYJ', 'yucheng': 'YCK', 'yuchengdong': 'YSK', 'yuchengxian': 'IXH', 'yuci': 'YCV', 'yudu': 'YDG', 'yuechi': 'AWW', 'yuejiajing': 'YGJ', 'yueliangtian': 'YUM', 'yueqing': 'UPH', 'yueshan': 'YBF', 'yuexi': 'YHW', 'yueyang': 'YYQ', 'yueyangdong': 'YIQ', 'yuge': 'VTM', 'yuhang': 'EVH', 'yujiang': 'YHG', 'yujiapu': 'YKP', 'yuliangpu': 'YLD', 'yulin': 'ALY', 'yumen': 'YXJ', 'yunan': 'YKQ', 'yuncailing': 'ACP', 'yuncheng': 'YPK', 'yunchengbei': 'ABV', 'yundonghai': 'NAQ', 'yunfudong': 'IXQ', 'yunjusi': 'AFP', 'yunlianghe': 'YEF', 'yunmeng': 'YMN', 'yunshan': 'KZQ', 'yunxiao': 'YBS', 'yuping': 'YZW', 'yuquan': 'YQB', 'yushan': 'YNG', 'yushannan': 'YGG', 'yushe': 'YSV', 'yushi': 'YSJ', 'yushu': 'YRT', 'yushugou': 'YGP', 'yushutai': 'YUT', 'yushutun': 'YSX', 'yutianxian': 'ATP', 'yuxi': 'AXM', 'yuxixi': 'YXM', 'yuyao': 'YYH', 'yuyaobei': 'CTH', 'yuzhong': 'IZJ', 'zaolin': 'ZIV', 'zaoqiang': 'ZVP', 'zaoyang': 'ZYN', 'zaozhuang': 'ZEK', 'zaozhuangdong': 'ZNK', 'zaozhuangxi': 'ZFK', 'zengjiapingzi': 'ZBW', 'zengkou': 'ZKE', 'zepu': 'ZPR', 'zerunli': 'ZLM', 'zhalainuoerxi': 'ZXX', 'zhalantun': 'ZTX', 'zhalute': 'ZLD', 'zhangbaiwan': 'ZUP', 'zhangdang': 'ZHT', 'zhanggutai': 'ZGD', 'zhangjiachuan': 'ZIJ', 'zhangjiajie': 'DIQ', 'zhangjiakou': 'ZKP', 'zhangjiakounan': 'ZMP', 'zhanglan': 'ZLV', 'zhangmutou': 'ZOQ', 'zhangmutoudong': 'ZRQ', 'zhangping': 'ZPS', 'zhangpu': 'ZCS', 'zhangqiao': 'ZQY', 'zhangqiu': 'ZTK', 'zhangshu': 'ZSG', 'zhangshudong': 'ZOG', 'zhangweitun': 'ZWB', 'zhangwu': 'ZWD', 'zhangxian': 'ZXJ', 'zhangxin': 'ZIP', 'zhangye': 'ZYJ', 'zhangyexi': 'ZEJ', 'zhangzhou': 'ZUS', 'zhangzhoudong': 'GOS', 'zhanjiang': 'ZJZ', 'zhanjiangxi': 'ZWQ', 'zhaoan': 'ZDS', 'zhaobai': 'ZBP', 'zhaocheng': 'ZCV', 'zhaodong': 'ZDB', 'zhaofupu': 'ZFM', 'zhaoguang': 'ZGB', 'zhaohua': 'ZHW', 'zhaoqing': 'ZVQ', 'zhaoqingdong': 'FCQ', 'zhaoshan': 'KWQ', 'zhaotong': 'ZDW', 'zhashui': 'ZSY', 'zhazi': 'ZAL', 'zhelimu': 'ZLC', 'zhenan': 'ZEY', 'zhenchengdi': 'ZDV', 'zhengding': 'ZDP', 'zhengdingjichang': 'ZHP', 'zhengxiangbaiqi': 'ZXC', 'zhengzhou': 'ZZF', 'zhengzhoudong': 'ZAF', 'zhengzhouxi': 'XPF', 'zhenjiang': 'ZJH', 'zhenjiangnan': 'ZEH', 'zhenlai': 'ZLT', 'zhenping': 'ZPF', 'zhenxi': 'ZVT', 'zhenyuan': 'ZUW', 'zhian': 'ZAD', 'zhicheng': 'ZCN', 'zhifangdong': 'ZMN', 'zhijiang': 'ZPQ', 'zhijiangbei': 'ZIN', 'zhijin': 'IZW', 'zhijinbei': 'ZJE', 'zhongchuanjichang': 'ZJJ', 'zhonghe': 'ZHX', 'zhonghuamen': 'VNH', 'zhongjiacun': 'ZJY', 'zhongkai': 'KKQ', 'zhongmu': 'ZGF', 'zhongning': 'VNJ', 'zhongningdong': 'ZDJ', 'zhongningnan': 'ZNJ', 'zhongshan': 'ZSQ', 'zhongshanbei': 'ZGQ', 'zhongshanxi': 'ZAZ', 'zhongwei': 'ZWJ', 'zhongxiang': 'ZTN', 'zhongzhai': 'ZZM', 'zhoujia': 'ZOB', 'zhoujiatun': 'ZOD', 'zhoukou': 'ZKN', 'zhoushuizi': 'ZIT', 'zhuanghebei': 'ZUT', 'zhuangqiao': 'ZQH', 'zhuangzhi': 'ZUX', 'zhucheng': 'ZQK', 'zhuhai': 'ZHQ', 'zhuhaibei': 'ZIQ', 'zhuji': 'ZDH', 'zhujiagou': 'ZUB', 'zhujiawan': 'CWJ', 'zhujiayao': 'ZUJ', 'zhumadian': 'ZDN', 'zhumadianxi': 'ZLN', 'zhungeer': 'ZEC', 'zhuozhou': 'ZXP', 'zhuozhoudong': 'ZAP', 'zhuozidong': 'ZDC', 'zhuozishan': 'ZZC', 'zhurihe': 'ZRC', 'zhusihua': 'ZHD', 'zhuwo': 'ZOP', 'zhuyuanba': 'ZAW', 'zhuzhou': 'ZZQ', 'zhuzhounan': 'KVQ', 'zhuzhouxi': 'ZAQ', 'zibo': 'ZBK', 'zichang': 'ZHY', 'zigong': 'ZGW', 'zijingguan': 'ZYP', 'zixi': 'ZXS', 'ziyang': 'ZYW', 'ziyangbei': 'FYW', 'zizhong': 'ZZW', 'zizhongbei': 'WZW', 'zizhou': 'ZZY', 'zongxi': 'ZOY', 'zoucheng': 'ZIK', 'zunyi': 'ZYE', 'zunyinan': 'ZNE', 'zunyixi': 'ZIW', 'zuoling': 'ZSN'}
tickets.py
"""Train tickets query via command-line. tickets.py Usage: tickets [-gdtkz] <from> <to> <date> Options: -h,--help 显示帮助菜单 -g 高铁 -d 动车 -t 特快 -k 快速 -z 直达 Example: tickets -gdt beijing shanghai 2016-08-25 """ import requests from docopt import docopt #from stations import stations from stations import stations # from pprint import pprint from train import TrainCollection class SelectTrain(object): def __init__(self): """ 获取命令行输入的参数 """ self.args = docopt(__doc__)#这个是获取命令行的所有参数,返回的是一个字典 def cli(self): """command-line interface""" # 获取 出发站点和目标站点 from_station = stations.get(self.args['<from>']) #出发站点 to_station = stations.get(self.args['<to>']) # 目的站点 leave_time = self._get_leave_time()# 出发时间 url = 'https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate={0}&from_station={1}&to_station={2}'.format( leave_time,from_station,to_station)# 拼接请求列车信息的Url # 获取列车查询结果 r = requests.get(url,verify=False) traindatas = r.json()['data']['datas'] # 返回的结果,转化成json格式,取出datas,方便后面解析列车信息用 # 解析列车信息 traintypes = self._get_traintype() views = TrainCollection(traindatas,traintypes) views.print_pretty() def _get_traintype(self): """ 获取列车型号,这个函数的作用是的目的是:当你输入 -g 是只是返回 高铁,输入 -gd 返回动车和高铁,当不输参数时,返回所有的列车信息 """ traintypes = ['-g','-d','-t','-k','-z'] # result = [] # for traintype in traintypes: # if self.args[traintype]: # result.append(traintype[-1].upper()) trains = [traintype[-1].upper() for traintype in traintypes if self.args[traintype]] if trains: return trains else: return ['G','D','T','K','Z'] def _get_leave_time(self): """ 获取出发时间,这个函数的作用是为了:时间可以输入两种格式:2016-10-05、20161005 """ leave_time = self.args['<date>'] if len(leave_time) == 8: return '{0}-{1}-{2}'.format(leave_time[:4],leave_time[4:6],leave_time[6:]) if '-' in leave_time: return leave_time if __name__ == '__main__': cli = SelectTrain() cli.cli()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:sqlalchemy外键关联
下一篇:Python3 的分支与循环
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash