有哪些开源的 Python 库让你相见恨晚?

学习python的正确姿势

共 4078字,需浏览 9分钟

 ·

2020-05-21 00:08


之前在知乎回答了这个问题,得到不少人的喜欢,最近又发现了几个不错的 Python 库,赶在 520 之时一并整理分享给大家,希望对你有帮助,别问,问就是良心的一批。
Arrow


我们知道 Python 已经内置了好几个处理时间相关的库,但是对于时间以及时区间的转换并不清晰,操作起来略繁琐,而 Arrow 可以弥补这个问题,它提供了更友好的方法,方便我们对时间,日期,格式化等操作。



92fcb390ea3abba877d634a202a99602.webp



项目地址:

https://github.com/crsmithdev/arrow

start:6.1k



thefuck
这个名字一看就厉害啊,我们常常会使用到命令行,但有时候会对一些命令不是很熟悉,或者说偶尔出现打错命令的情况,然后有人就用 Python 搞了这个项目,当你输错命令的时候,你只要再输一个 “fuck”,就能马上更正你的命令。很牛逼有没有,以前我们一遇到不爽的,说句 woc 也没什么鸟用,但是在这里遇到不爽的,说句 fuck 还真能帮你解决问题:



09c2f10eff1d99e08f5008347c4de41c.webp




4fe18346939c7796a260034a5f670bf4.webp




项目地址:https://github.com/nvbn/thefuckstar:4w+



face_recognition


这是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。


8b1f40fa8a589475f9e9001b25e51313.webp






a09023df5f6ef3e4e81ce0866a136dec.webp





7ea3d61f10db9c536359be4e5c6a76cc.webp



项目地址:https://github.com/ageitgey/face_recognitionstar:2.7w+


learn-regex
学习正则表达式的正确姿势,上次刚好看到这个项目,留意了下,发现这算是很全面的正则学习资料了:




86999e3781d04f346e7cbc8529896ecd.webp





a598689d9572a752faa74deff2186a6b.webp



项目地址:https://github.com/ziishaned/learn-regexstar:2.7w+


musicbox
这个项目好玩,直接使用命令行来运行操作网易云音乐,是不是很 geek 咧:


f1ebe8acaac0597747723a4718c0d28e.webp





d6f118078d0b817e2e101efb0779db55.webp



妈妈再也不用担心我在 Linux 无法好好的听歌了。


PaddlePaddle Models


PaddlePaddle 提供了丰富的计算单元,使得用户可以采用模块化的方法解决各种学习问题。在此Repo中,我们展示了如何用 PaddlePaddle来解决常见的机器学习任务,提供若干种不同的易学易用的神经网络模型。




0745683449e748618e74ab6a4a066a5a.webp



地址:https://github.com/PaddlePaddle/models



vipstone/faceai


一款入门级的人脸、视频、文字检测以及识别的项目:



bd3334566b625be826264f573dc4d713.webp



地址:https://github.com/vipstone/faceai



AiLearning


机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP:




b63f5198b06bc03ea8b036915333d7e7.webp




地址:https://github.com/apachecn/AiLearning



Algorithm_Interview


2018/2019/校招/春招/秋招/算法/机器学习(Machine Learning)/深度学习(Deep Learning)/自然语言处理(NLP)/C/C++/Python/面试笔记:




3298c50b1bf5b472c6bde57d191813cd.webp




地址:https://github.com/imhuay/Algorithm_Interview_Notes-Chinese



learn_python3_spider


python爬虫教程系列、从0到1学习python爬虫,包括浏览器抓包,手机APP抓包,如 fiddler、mitmproxy,各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy等,以及IP代理,验证码识别,Mysql,MongoDB数据库的python使用,多线程多进程爬虫的使用,css 爬虫加密逆向破解,JS爬虫逆向,爬虫项目实战实例等:



6b754a74d852bd66eccd3ed84b50ba3f.webp




dc58ef521991cb75da61e45b3d109ada.webp



纯粹自卖自夸

项目地址:https://github.com/wistbean/learn_python3_spider

star数量:3.6k


12306


这是用 Python 开发的 12306 购票助手,它实现了自动打码,自动登录,捡漏,候补等功能。用 Python 帮你抢票,还是可以的。虽然国庆没用到,这不春节马上要到了么?到时可以用上来。
这个项目已经有 1.6w+ star,作者也一直在维护。



27931d54b7e898683e04f3561ff6750c.webp




项目地址:https://github.com/testerSunshine/12306


d2l-zh


这是一本《动手学深度学习》教材,面向中文读者,源代码都在这里面了,能运行,可以讨论。1.3w+ 的star,内容如下:



d438a86df13aa321d89753eb397560ff.webp




项目地址:https://github.com/d2l-ai/d2l-zh


httpx
这个是建立在 requests 之上的库,声称是 Python 下一代的 http ,使用方式:



e30756edda68b0c0e7bb5ff963f9cf08.webp




requests 有的功能它都有,没有的功能它也有:



1c249b4ce9298cb1761407189d66b656.webp




项目地址:https://github.com/encode/httpx


pandas-profiling
我们知道数据分析有个 pandas 框架,而这个项目就是继承 pandas 的, 它几乎可以做到一行代码快速对数据进行可视化分析:



ff24c9b2aa254578974ed869e8bedd81.webp




这里一行代码就可以直接生成可视化数据:



8e10619d7af519d196acae749afe1d6a.webp




项目地址:https://github.com/pandas-profiling/pandas-profiling


WeRoBot
这是一个 Python 开发的微信公众号框架,有些朋友如果是基于微信公众号开发的话,可以不用自己造轮子了,这个框架可以节省你很多时间:




970d06f6aab0e1e984754f4771e53be4.webp




项目地址:https://github.com/offu/WeRoBot


PySimpleGUI


你可以使用它简单的创建用户界面,PySimpleGUI 同时支持 Python2 和 Python3。它将 tkinter、Qt、WxPython、Remi 转化为可移植的人性化 Pythonic 接口,搞出来的用户界面可以运行在 Linux、Mac OS、Windows 系统上。


一个最简单的例子:





c9cb0d6c592087df0cf2e9961b92549b.webp




GitHub地址:https://github.com/PySimpleGUI/PySimpleGUI

star:2.4k



yagmail


yagmail 是我见过实现 Python 发送邮件这个功能用到的最短的代码:




a2f966f7a4e98dc9c78266ef77a56d97.webp




甚至可以一行搞定:




9b0003a3fd9e4e70e7423e23631ae02f.webp




群发邮件也是 easy 啦:




1d2c2b75524afac8b0ae601425960d23.webp




GitHub地址:https://github.com/kootenpv/yagmailstar:1.6k



wtfpython


顾名思义,what the fxxk Python ,这名字一看就有趣,这个项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些现象背后真正的原理。


说白了,也就是你看到那样的 Python 例子,会不自觉的脱口而出:“what the fxxk ,这是什么鬼?”




5e101cd4332f003fc496f14964255d66.webp





GitHub地址:https://github.com/leisurelicht/wtfpython-cnstar:9.1k


faker


faker 就是假,不够 real ,我们有时候在写代码的时候需要一些假数据进行测试,有了 faker 之后,你就再也不用自己整一些“张三”、“李四”、“隔壁老王” 了。




c3e41467ff4ffeb5a4ca8236422820ce.webp




想要中文“假数据”也有:




f4c51ed67158590e0e05ac47bbd6217a.webp





3f5efda26c64bc87e0a3a7dcaace0724.webp





GitHub地址:https://github.com/joke2k/fakerstar:8.7k


pelican


这个也是厉害,pelican 可以快速生成一个网站,我来给你演示一下:


创建一个目录:



35a9dc2364e8d52ed6fe4cd2e67e57ab.webp




进入:




9f881e0a5aa867d2d71250652d3600cd.webp




然后直接输入命令:pelican-quickstart。


回答各种沙雕网站问题:




5602029cfdbce7d82617d1980ca4ca3f.webp




然后就完事了,随便搞个 md 文件:




178ba698c704ace4ddf7f4fed6d7d1da.webp




保存一波之后,在你当前的目录创建一个 content 文件,把你编辑的这个文件塞进去。




5edf6d45e8a5afe865af9663734f14d6.webp




然后输入  pelican content:



44de53ea00399b971c9e6cb437b1664e.webp




接着输入 pelican --listen 就可以预览你的网站了:



fab3dd31c69adb61e4892964b9f2f5f3.webp




是不是很爽?怎一个字了得?
GitHub地址:https://github.com/getpelican/pelicanstar:9.2k



FastAPI


FastAPI是一个基于 Python3.6+ 构建的高性能 web 框架,使用它可以很快的简单写一些 API 接口。


举个例子:





aa5a8a2b0b5d38efde9a8d7fa94d15b9.webp




接着可以安装 uvicorn 后运行起来:




f75a5752d87ced9715c9a167292d1220.webp



监听 8000 端口了,可以通过 http://127.0.0.1:8000 进行访问:



5c1c3dab7267a8f314d418b12b0ac1e4.webp

3e7eb29bb3a178b687d99a3ff260bb68.webp

0bda8b35c1c2b93b98d2f11b0ee23266.webp


除此之外,它基于 Swagger 还能直接生成接口文档,省了你大量写接口文档的时间:


28d767903b7b2cd83c400bb93cbae14c.webp



还能直接测试接口:



4b9ed9db1cf8b5cf2bd1a31e439cc4d9.webp




项目地址:https://github.com/tiangolo/fastapistar数:6k



Ultra-Light-Fast-Generic-Face-Detector-1MB



这是一个轻量级的人脸检测模型,针对边缘计算设备设计的轻量人脸检测模型,默认FP32精度下(.pth)文件大小为 1.04~1.1MB。


e7c04c582bccd221bb0180715f5e445a.webp

65a2c5059cf522fb552a505b9bc0f6c9.webp




项目地址:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MBstar数量:3.9k


you-get


安装完 you-get 就能通过一个命令下载网上的在线视频了:





b2247f656674ec2671a48485abb4dab3.webp




牛逼的是,现在它已经能够支持大部分主流的在线视频网站的下载:





fe70376d515ca42c9a6059ae95ad8ad7.webp




项目地址:https://github.com/soimort/you-getstar数量:28.4k


Fire
这个库的方便之处在于,他可以让任何 Python 项目快速自动生成命令行接口,不用自己写 docstring 就可以生成,而且只需要用 Fire 调用一下就可以了,舒服!

一个官方的例子:

74237522bc34064f3bea1e2a42b28542.webp


通过 python 运行:
python calculator.py

8061e50e75898904e8a2340879e5a95e.webp


aa3b03f329fc11820c123c003916b6fb.webp


项目地址:https://github.com/google/python-firestar数量:16.9k


ok,以上,别光收藏呀,点个在看呗,Python 好用的库远不止这些,以后我发现不错的库再整理一波分享给你!


460f232b242673d9da5a4d86c5e21d7f.webp

扫一扫

学习 Python 没烦恼



浏览 63
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报