Awesome Python中文版来啦!
本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿。未经许可,禁止转载!
英文出处:github.com。
----------------
这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护。内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
伯乐在线已在 GitHub 上发起「Python 资源大全中文版」的整理。欢迎扩散、欢迎加入。
GitHub - jobbole/awesome-python-cn: Python资源大全中文版
环境管理
管理 Python 版本和环境的工具
包管理
管理包和依赖的工具。
包仓库
本地 PyPI 仓库服务和代理。
分发
打包为可执行文件以便分发。
构建工具
将源码编译成软件。
交互式解析器
交互式 Python 解析器。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
日期和时间
操作日期和时间的类库。
文本处理
用于解析和操作文本的库。
特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
自然语言处理
用来处理人类语言的库。
文档
用以生成项目文档的库。
配置
用来保存和解析配置的库。
命令行工具
用于创建命令行程序的库。
下载器
用来进行下载的库.
图像处理
用来操作图像的库.
OCR
光学字符识别库。
音频
用来操作音频的库
视频
用来操作视频和GIF的库。
地理位置
地理编码地址以及用来处理经纬度的库。
HTTP
使用HTTP的库。
数据库
Python实现的数据库。
数据库驱动
用来连接和操作数据库的库。
ORM
实现对象关系映射或数据映射技术的库。
Web 框架
全栈 web 框架。
权限
允许或拒绝用户访问数据或功能的库。
CMS
内容管理系统
电子商务
用于电子商务以及支付的框架和库。
RESTful API
用来开发RESTful APIs的库
验证
实现验证方案的库。
模板引擎
模板生成和词法解析的库和工具。
Queue
处理事件以及任务队列的库。
搜索
对数据进行索引和执行搜索查询的库和软件。
动态消息
用来创建用户活动的库。
资源管理
管理、压缩、缩小网站资源的工具。
缓存
缓存数据的库。
电子邮件
用来发送和解析电子邮件的库。
国际化
用来进行国际化的库。
URL处理
解析URLs的库
HTML处理
处理 HTML和XML的库。
网络站点爬取
爬取网络站点的库
网页内容提取
用于进行网页内容提取的库。
表单
进行表单操作的库。
数据验证
数据验证库。多用于表单验证。
反垃圾技术
帮助你和电子垃圾进行战斗的库。
标记
用来进行标记的库。
管理面板
管理界面库。
静态站点生成器
静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件。
进程
操作系统进程启动及通信库。
并发和并行
用以进行并发和并行操作的库。
网络
用于网络编程的库。
WebSocket
帮助使用WebSocket的库。
WSGI 服务器
兼容 WSGI 的 web 服务器
RPC 服务器
兼容 RPC 的服务器。
密码学
图形用户界面
用来创建图形用户界面程序的库。
游戏开发
超赞的游戏开发库。
日志
用来生成和操作日志的库。
测试
进行代码库测试和生成测试数据的库。
代码分析和Lint工具
进行代码分析,解析和操作代码库的库和工具。
调试工具
用来进行代码调试的库。
科学技术和数据分析
用来进行科学计算和数据分析的库。
数据可视化
进行数据可视化的库。 参见: awesome-javascript。
计算机视觉
计算机视觉库。
机器学习
机器学习库。 参见: awesome-machine-learning.
MapReduce
MapReduce 框架和库。
函数式编程
使用 Python 进行函数式编程。
第三方 API
用来访问第三方 API的库。 参见: List of Python API Wrappers and Libraries。
DevOps 工具
用于 DevOps 的软件和库。
任务调度
任务调度库。
外来函数接口
使用外来函数接口的库。
高性能
让 Python 更快的库。
微软的 Windows平台
在 Windows 平台上进行 Python 编程。
网络可视化和SDN
用来进行网络可视化和SDN(软件定义网络)的工具和库。
硬件
用来对硬件进行编程的库。
兼容性
帮助从 Python 2 向 Python 3迁移的库。
杂项
不属于上面任何一个类别,但是非常有用的库。
算法和设计模式
Python 实现的算法和设计模式。
编辑器插件
编辑器和 IDE 的插件
集成开发环境
流行的 Python 集成开发环境。
服务
在线工具和简化开发的 API 。
持续集成
参见: awesome-CIandCD.
代码质量
资源
在这里可以找到新的 Python 库。
网站
周刊
1. DecryptLogin
项目文档:https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/
项目地址:https://github.com/CharlesPikachu/DecryptLogin
主要功能:利用python的requests包模拟登录各大网站 (为后续的数据爬取做准备)
目前支持的站点:
安装:
pip install DecryptLogin
使用方式,以模拟登录知乎为例:
from DecryptLogin import login lg = login.Login() infos_return, session = lg.zhihu(username='Your Username', password='Your Password')
效果:
项目地址里也添加了几个模拟登录之后的小案例,供大家学习使用:
2.musicdl
项目文档:https://musicdl.readthedocs.io/zh/latest/
主要功能:一款简单易用的音乐下载器
安装:
pip install musicdl
快速开始:
from musicdl import musicdl config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}} target_srcs = ['baiduFlac', 'kugou', 'kuwo', 'qq', 'qianqian', 'netease', 'migu', 'xiami', 'joox'] client = musicdl.musicdl(config=config) client.run(target_srcs)
效果:
更多功能自己看文档吧。项目仅供学习交流,侵删/发现项目被不当使用删,因为只是一个供新手学习的项目,失效了的话很正常(目前还是有效的),别找我抱怨,并没有打算一直维护。
3.其他
地址:https://github.com/CharlesPikachu
只是一些开源的小项目,算不上python库,不过还是放上来给有需要的朋友吧。
1.数据可视化
个人用的比较多的是pyecharts:https://github.com/pyecharts/pyecharts
项目文档:https://pyecharts.org/#/zh-cn/intro
一些效果图:
还有个可爱版的:https://github.com/cutecharts/cutecharts.py
效果如下:
2.mmdetection
项目地址:https://github.com/open-mmlab/mmdetection
项目文档:https://mmdetection.readthedocs.io/en/latest/
不想解释,做目标检测相关的同学都懂。。。以前看过一遍项目源代码,还是很有收获的。
3.openpyxl
项目文档:https://openpyxl.readthedocs.io/en/stable/tutorial.html
一款用于处理Excel文件的python第三方包,感觉还行,帮同学写数据处理脚本的时候基本都用的他。
4.kornia
项目文档:https://kornia.readthedocs.io/en/latest/feature.html
项目介绍:
可以配合pytorch使用,“懒人”必备。。。
楼上回答的比较多的一些python库我这就不重复推荐了。
最后,欢迎微信搜索关注:Charles的皮卡丘
(1)hhatto/autopep8:自动格式化Python代码以符合PEP 8
1、一段测试代码如下:
2、使用命令:autopep8 --in-place --aggressive --aggressive test.py
3、转换之后的代码如下:
(2)python-for-android :把Python脚本打包成APK。
(3)python-visualization/folium : 用Python辅助实现地图的可视化或者有关于地图的操作,可以直接解析Json数据进行可视化。
(4)mzucker/noteshrink :把手写的笔记转成更加简单清晰漂亮的图片,因为平常记笔记比较多,所以比较有用。
1、一张我以前学习JavaScript时候写下的笔记照片(字丑请忽略)
2、执行命令:python noteshrink.py test.jpg
3、处理之后的结果
最近程沉迷于github,无法自拔,看到各种各样新奇又实用的第三方库。网络上有很多python库的排名、汇总,但总觉得不够具体生动。
我希望能在这里持续更新我喜欢的第三方可视化库,力求详实丰富。专栏里收集了github上更多有趣的python项目,喜欢就关注下哦!
github上的好东西确实多,之前也有项目整理过。
类型:可视化图表设计
GitHub Star :5985
功能:
使用方法:
from pyecharts.charts import Bar bar = Bar() bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) # render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件 # 也可以传入路径参数,如 bar.render("mycharts.html") bar.render()
案例:
学习资料:
A Python Echarts Plotting Library
类型:开源的 企业级 轻量BI工具
GitHub star :24937
功能:
使用方法:
安装好后,启动浏览器端,添加数据源,搭建可视化面板,分享,导出
案例:
查看仪表板
数据切片和切块
使用SQL Lab查询和可视化数据
可视化地理空间数据
从各种可视化中进行选择
学习资源:官方文档
类型:非常著名且强大的交互式开源数据可视化框架
GitHub star :5235
功能:
使用方法:
import plotly.express as px iris = px.data.iris() fig = px.scatter(iris, x="sepal_width", y="sepal_length") fig.show()
案例:
学习资源:官方文档
类型:服务于浏览器的炫酷的交互式可视化库
GitHub star :11061
功能:
使用方法:
from bokeh.plotting import figure, output_file, show # 创建图表 p = figure(plot_width=300, plot_height=300, tools="pan,reset,save") # 图表中添加圆 p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5) # 定义输出形式 output_file("foo.html") # 展示图表 show(p)
案例:
学习资源:官方文档
Python里很多可视化都是基于matplotlib开发的,所以学习matplotlib的绘图框架很重要,大家要多看看。
之前在github上看到matplotlib的速查表,感觉很方便,分享出来。
Github主页地址:https://github.com/matplotlib/cheatsheets
如果Github比较慢,我下载好了PDF和高清图片版,大家可以去下载看
一直在创作python&数据内容,从未停止哈哈,觉得不错点个关注 朱卫军 ~
未完待续!欢迎点赞收藏转发
它在Github 接近1.7w的star!
那么,它是干吗用的呢?
就像这样
如果我说
我是博士毕业进入业界才接触这个神器的
不知会不会被同行笑话
(读博期间C++为主,不知C++有没有类似的神器?)
安装tqdm非常简单
首先确保你安装了pip
python -m pip install -U pip
接着,打开terminal,然后输入
pip install tqdm
如果你用的是python3,那么
pip3 install tqdm
2. 使用
使用也非常傻瓜和方便
首先是引用这个库
from tqdm import tqdm
其次,在循环口加上tqdm:
for i in tqdm(range(10000)): pass
3. trange
保姆式服务
tqdm(range(10000))
直接写成
trange(10000)
示例:
from tqdm import trange for i in trange(10000): pass
4. 参数
tqdm的参数比较多
这里挑几个最常用的给大家介绍一下
tqdm (self, iterable, desc= "Text You want", mininterval=3, initial=50)
desc:可以设置进度条前面的文字
mininterval: 设置进度条显示的频率
initial:设置进度条的初始值
5. 小结
最近在公司处理无人驾驶数据比较多
经常要遍历很多文件夹
在知道tqdm之前
一个循环开始之后
我们通常是无法知道循环到底进展到哪里了
自从知道了这个Python库--tqdm
情况就大不相同了
tqdm(range(len(xx)))即可
我可以实时从terminal获取当前处理文件数据的进度
还能知道处理这些数据已经花了多少时间
以及预计还有多长时间可以处理完
好了
最后推荐一个几乎不要钱(限时0.01元)的Python课程
适合编程小白
用游戏闯关的方式教你学编程
真的是非常初学者友好了
仅限100人!
pptx
下面这段程序可以快速生成一个ppt, 包括标题页和每个章节的小标题页。其实把每一页都生成出来也是可以的,只是会比较折腾,不值得了。
打开ppt,随便找一个喜欢的模块,存为templet.pptx,然后在同一目录下运行这个python程序,就出来了。
import os from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import ColorFormat, RGBColor import time class contents: title = "Title" subtitle = "Author
Affiliation" sections = ["Introduction", "Section 1", "Section 2", "Conclusion"] class Prs: def __init__(self, pptx_fname, templet_fname, contents): self.prs = Presentation(templet_fname) self.pptx_fname = pptx_fname self.templet_fname = templet_fname self.contents = contents def Title(self): title_slide_layout = self.prs.slide_layouts[0] slide = self.prs.slides.add_slide(title_slide_layout) title = slide.shapes.title title.width = int(self.prs.slide_width * 0.9) title.left = int(self.prs.slide_width * 0.05) title.top = int(self.prs.slide_height * 0.3) title.height = int(self.prs.slide_height * 0.3) title.text = self.contents.title subtitle = slide.placeholders[1] subtitle.width = int(self.prs.slide_width * 0.9) subtitle.left = int(self.prs.slide_width * 0.05) subtitle.top = int(self.prs.slide_height * 0.7) subtitle.height = int(self.prs.slide_height * 0.2) subtitle.text = self.contents.subtitle def ContentPage(self, curr): title_slide_layout = self.prs.slide_layouts[1] slide = self.prs.slides.add_slide(title_slide_layout) title = slide.shapes.title title.text = "Contents" tf = slide.placeholders[1].text_frame tf.paragraphs[0].font.size = Pt(1) for title in self.contents.sections: p = tf.add_paragraph() p.text = title p.font.size = Pt(40) if curr == self.contents.sections.index(title): p.font.color.rgb = RGBColor(175, 13, 21) def PlainPage(self, page): title_slide_layout = self.prs.slide_layouts[1] slide = self.prs.slides.add_slide(title_slide_layout) slide.name = str(page["name"]) title = slide.shapes.title title.top = int(self.prs.slide_height * 0.1) title.height = int(self.prs.slide_height * 0.1) title.width = int(self.prs.slide_width * 0.7) title.left = int(self.prs.slide_width * 0.3) title.text = page["text"] tf = slide.placeholders[1].text_frame tf.paragraphs[0].font.size = Pt(1) p = tf.add_paragraph() p.text = page["text"] p.font.size = Pt(24) def AddPic(self, pageid, picfname, left, top, width=None, height=None): for slide in self.prs.slides: if slide.name == str(pageid): slide.shapes.add_picture(picfname, left, top, width, height) def EditText(self, pageid, text): for slide in self.prs.slides: if slide.name == str(pageid): slide.placeholders[1].text_frame.paragraphs[1].text = text def Save(self): self.prs.save(self.pptx_fname) if __name__ == "__main__": pptx_fname = str(time.time()) + ".pptx" templet_fname = "templet.pptx" prs = Prs(pptx_fname, templet_fname, contents) prs.Title() for section in contents.sections: prs.ContentPage(contents.sections.index(section)) prs.Save() os.popen(pptx_fname)
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有