盘点那些年让我们相爱恨晚的Python库-

Python011

盘点那些年让我们相爱恨晚的Python库-,第1张

管理界面的库。

数据结构、算法和设计模式的 Python 实现。另请参阅awesome-algorithms。

ASGI兼容的网络服务器。

用于处理音频及其元数据的库。

用于实现身份验证方案的库。

从源代码编译软件。

用于增强 Python 内置类的库。

内容管理系统。

用于缓存数据的库。

用于聊天机器人开发的库。

静态分析、linter 和代码质量检查工具。另请参阅awesome-static-analysis。

用于构建命令行应用程序的库。

有用的基于 CLI 的生产力工具。

用于从 Python 2 迁移到 3 的库。

计算机视觉库。

用于并发和并行执行的库。另请参阅awesome-asyncio。

用于存储和解析配置选项的库。

用于数据分析的库。

用于验证数据的库。在许多情况下用于表单。

用于可视化数据的库。另请参阅awesome-javascript。

用 Python 实现的数据库。

用于连接和操作数据库的库。

用于处理日期和时间的库。

用于调试代码的库。

神经网络和深度学习框架。另请参阅awesome-deep-learning。

适用于 DevOps 的软件和库。

分布式计算的框架和库。

创建用于发布分发的打包可执行文件的库。

用于生成项目文档的库。

用于下载的库。

电子商务和支付的框架和库。

用于发送和解析电子邮件的库。

用于企业环境中系统集成的平台和工具

用于 Python 版本和虚拟环境管理的库。

用于文件操作和 MIME 类型检测的库。

提供外部函数接口的库。

用于处理表单的库。

使用 Python 进行函数式编程。

用于处理图形用户界面应用程序的库。

用于使用 GraphQL 的库。

很棒的 游戏 开发库。

用于地理编码地址和处理纬度和经度的库。

用于处理 HTML 和 XML 的库。

用于处理 HTTP 的库。

用于硬件编程的库。

用于处理图像的库。

Python 的实现。

交互式 Python 解释器 (REPL)。

用于使用 i18n 的库。

用于调度作业的库。

用于生成和处理日志的库。

机器学习库。另请参阅awesome-machine-learning。

Microsoft Windows 上的 Python 编程。

不属于上述类别的有用库或工具。

用于处理人类语言的库。

虚拟网络和 SDN(软件定义网络)的工具和库。

用于构建用户活动的库。

实现对象关系映射或数据映射技术的库。

用于包和依赖管理的库。

本地 PyPI 存储库服务器和代理。

渗透测试的框架和工具。

允许或拒绝用户访问数据或功能的库。

用于启动和与操作系统进程通信的库。

用于构建推荐系统的库。

用于 Python 的重构工具和库

用于构建 RESTful API 的库。

机器人库。

RPC 兼容的服务器。

用于科学计算的库。另请参阅Python-for-Scientists。

用于对数据进行索引和执行搜索查询的库和软件。

用于序列化复杂数据类型的库

用于开发无服务器 Python 代码的框架。

基于 Python 的 shell。

用于解析和操作特定文本格式的库。

静态站点生成器是一种软件,它以一些文本 + 模板作为输入并在输出中生成 HTML 文件。

用于标记项目的库。

用于处理任务队列的库。

用于模板和词法分析的库和工具。

用于测试代码库和生成测试数据的库。

用于解析和操作纯文本的库。

用于访问第三方服务 API 的库。另请参阅Python API 包装器和库列表。

用于解析 URL 的库。

用于处理视频和 GIF 的库。

用于管理、压缩和缩小网站资产的工具。

用于提取 Web 内容的库。

用于自动抓取网页的库。

传统的全栈 Web 框架。另请参阅RESTful API。

用于使用 WebSocket 的库。

WSGI 兼容的网络服务器。

在哪里可以发现学习资源或新的 Python 库。

地理编码指的是将地理信息转化成坐标关系的过程。分为正向和反向的编码。

正向的是指将地址信息转换为坐标点,比如: 武汉市武汉大学-->(114.3594147, 30.5401222);反向地理编码就是将地理坐标转换为具体的地址,是一个与前面相反的过程。

不是所有的地址都能得得一个有效的地理编码的,需要检查status是否为0。

参考以下代码:

# coding=utf-8

from urllib.request import urlopen, quote

from json import loads as loadjson

ak = '--------------------------------'

def _url(service,**kv):

    qstr = ''

    url = 'http://api.map.baidu.com/' \

        + service + '/v2/' \

        + '?output=json' \

        + '&ak=' + ak

    for k, v in kv.items():

        url += '&' + k + '=' + quote(v)

    return url

def baidumapapi(service,**kv):

    data = urlopen(_url(service,**kv)).read().decode('utf-8')

    return loadjson(data)

geo = baidumapapi('geocoder',address='gd')

if geo['status'] == 0:

    try:

        print(geo['result']['location']['lng'])

    except (Exception,):

        print(geo)

else:

    print('{}({})'.format(geo['msg'] if 'msg' in geo.keys() else geo['message'],

                          geo['status']))