city_name_to_id_2.py 822 B

1234567891011121314151617181920212223242526272829
  1. from pathlib import Path
  2. from area.area import AreaService
  3. # 导出供外部使用
  4. _DEFAULT_PATH = Path(__file__).with_name("city.json")
  5. _area_service = AreaService(str(_DEFAULT_PATH))
  6. def get_city(city_str):
  7. """可以通过市获取省份(重构版,底层使用 Trie 树解析)"""
  8. city_id = 0
  9. province_id = 0
  10. city = ""
  11. province = ""
  12. if not city_str:
  13. return city_id, province_id, city, province
  14. match = _area_service.search_area(city_str)
  15. if match:
  16. city_id = match.city_id
  17. province_id = match.province_id
  18. city = match.city
  19. province = match.province
  20. return city_id, province_id, city, province
  21. if __name__ == "__main__":
  22. city_id, province_id, city, province = get_city("玉林")
  23. print(city_id, province_id, city, province)