什么网站啊?!居然比 Python 官网还牛逼

写代码时发现……还是Python牛逼 都说Python通俗易懂,容易上手,甚至不少网友表示「完成同一个任务,C 语言要写 1000 行代码,Java 只需要写 100 行,而 Python 可能只要 20 行」到底是真的还是假的? 下面就以一个最简单的入门级「Hello World」为例,对比几大主流编程语言的代码量。 ▌编程语言之首——Java public class HelloWorld { public static void main(String[] args){ System.out.print... 阅读详情

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

前两天,我发现有个前同事写的 Shell 脚本经常在出问题,考虑这个脚本一直挺不稳定的,维护起来也挺头疼,原因是 Shell 脚本写稍微复杂一点的逻辑,代码就变得十分臃肿,对比 Python 真的太差劲了。

这个 Shell 脚本中有一个功能是检查机器上的 rpm 包与中心端的包版本进行对比,在本地用 Shell 取 rpm 信息很方便,但要取 rpm 包版本,其实是很难的。

原因是 rpm 包的版本格式分非常多种,根本无法使用简单的字符串分割来取得具体的版本号,更不用说版本对比。

在重写这个功能的时候,我在找到了能直接获取 Linux 机器 rpm 包的 Python 接口库,这个库要使用 yum 进行安装

yum install -y rpm-python

装上之后,就可以直接导入使用。由于不是通过 pip 安装的,因此 rpm-python 是安装在 /usr/lib64/python2.7/site-packages/ 目录下的。

>>> import rpm
>>> rpm.__path__
['/usr/lib64/python2.7/site-packages/rpm']

# 1. 问题来了

接口库找到了,也安装上了,可问题是。。。

该怎么用???

你以为百度一下就知道了?

百度出来的,关于这个库的介绍几乎没有。找到的几个也不知所云,完全 get 不到逻辑。

于是我尝试着去该库的 pypi 和 github 上,希望找到一些 demo 啥的,先入个门。

看来是我想多了,要啥没啥,一片空白。。


使用 help 查看呢?更是一头雾水,没提取到有用的信息

# 2. 神奇的网站

好在 Google 上还是有点用的,它把一个神奇的网站推送到了我的面前,这个网站,就是今天我要为你介绍的主角。

网站的主界面如下,站如其名啊,就是通过 代码示例 来让你学习各种库的使用。

整个网站非常的简洁,只有一个搜索框,在这个搜索框里输入你想要学习的 python 库,就会立马为你找到该库的用法示例,并且会查到当前有多少的开源项目在使用它。

很明显上面的第二个包,才是我们需要的东西,点进去后,你会发现一个全新的世界。

在你面前的是一个又一个的完整的代码示例,这些示例系统、全面,非常适合初次学习阶段的理解。

需要强调的是,这些示例全部摘自开源项目,然后按照每个示例上方的链接转到原始项目或源文件。

若你觉得有些示例的代码写得不错,对你也有帮助的,可以给它点个赞。。

就以 rpm 库为例,来感受一下。

获取已安装的所有所有 rpm 包

检查一个库是否已经安装过?

如何根据关键词搜索指定的包并精准获取其版本

如何获取离线rpm包的信息

还有挺多示例的,这里就不一一列举了。

参照着上面给出的真实案例,我也整理出我属于我自己的 rpm 包的用法,比全网 90% 的文章都来得清晰易懂

rpm 包无非就分两种:

  1. 未安装的 rpm 包

  2. 已安装的 rpm 包

想要获取这两种包,方式是不一样的。

 获取未安装的 rpm 包信息

>>> import rpm
>>> ts = rpm.TransactionSet()
>>> rpmhdr = ts.hdrFromFdno("/root/librbd1-devel-10.2.10-0.el7.centos.x86_64.rpm")
>>> rpmhdr["NAME"]
'librbd1-devel'
>>> rpmhdr["VERSION"]
'10.2.10'
>>> rpmhdr["RELEASE"]
'0.el7.centos'
>>> rpmhdr["ARCH"]
'x86_64'

 获取已安装的 rpm 包信息

>>> import rpm
>>> ts = rpm.TransactionSet()
>>> query = ts.dbMatch("name", "librbd1")
>>> query.count()
1
>>> pkg_info = next(query)
>>> pkg_info["NAME"]
'librbd1'
>>> pkg_info["VERSION"]
'12.2.9.1.1'
>>> pkg_info["RELEASE"]
'0.el7.centos'
>>> pkg_info["ARCH"]
'x86_64'

但喝水不忘挖井人,以上都是从这个网站中提炼出来的。

本篇文章的主角并不是 rpm 这个库的用法,而是上面这个网站。

与 Python 官方网站提供的标准库示例不一样(赶紧切点题,不然有人说我标题党了),这个网站 ,不仅涵盖了 Python 的内置库,只要你能说得上名的 Python 库(当然你自己测试上传到 pypi 的那种库肯定不能算是吧)应该都在这个网站上找到你对应的代码示例。

全站所收录的 python 库大概有将近 2000 个,对应大多数人的开发应该都能满足了,并且最重要的是,上面的示例全部来源真实的项目,因此更具参考价值。

这个网站的地址,直接公众号聊天界面回复「210802」即可获取。

题图:pexels,CC0 授权。

厉害了,Pandas 的表格居然能变得怎么漂亮!


有了这款神器,轻松用 Python 写个 APP


Django 之美


高大上的数学科普视频,敲敲代码就能出来!


????分享、点赞、在看,给个三连击呗!????

从零开始玩转机械臂:用Matlab+Robotics Toolbox实现四自由度机械臂运动仿真 本文详细介绍了如何利用Matlab及其Robotics Toolbox工具箱,从零开始构建并仿真一个四自由度机械臂。通过D-H参数建模、正向运动学验证、交互式操控以及轨迹规划等实践步骤,帮助初学者在虚拟环境中直观理解机器人运动学核心概念,为后续硬件实现奠定坚实基础。 阅读详情

相关推荐

MySQL8.2.0下载安装

4、点击No thanks,just start my download,就是只是开始下载的意思,点击下载,等待下载完成。5、新建空白行,或直接双击紧挨的空白行,把复制的mysql的安装路径bin路径复制粘贴过来,确定,确定,确定。1、上面点击finish后,自动勾选了run mysql配置,自动会打开配置页面,点击Next。1、双击安装包,进入安装流程,勾选我同意 I accept,next。2、根据自己需要选择,我选的第二个,可以自己改安装路径。2、默认,点击Next,记住默认端口3306。

m0_59681797的博客 1万+

python实效编程百例·综合卷 pdf_新手必看:20 个优质 Python 学习资源

许多程序员都把Python作为编程之旅的开始,它也是近年来最热门的web开发语言之一。但是应该从哪里开始学习Python语言呢?这里向大家推荐一些学习Python语言的相关网站、书籍和资源。这些网站的网址只需要简单搜索就能找到。01Python for Beginners如果你的Python开发之旅有一段时间了,这门课程可能是一个很好的开始。Python for Beginners课程是由Alex...

weixin_39942033的博客 889

拌合楼软件开发(24)接收微信消息生成车辆计划

【摘要】针对拌合站客户群体文化程度不高、习惯微信群沟通的业务场景,提出通过企业微信机器人实现微信对话下单的解决方案。核心是利用WorkTool工具的消息回调机制:1)配置接收消息的API接口;2)解析JSON格式的对话数据,筛选@机器人的有效消息;3)采用*号分隔符提取订单信息并进行校验;4)建立微信昵称与客户系统的映射关系。方案解决了传统系统登录门槛高的问题,但需注意群名唯一性、多系统对接及客户身份识别等关键问题。全文重点阐述技术实现逻辑而非具体代码。

morsth的博客 1045

爬虫工具推荐python_爬虫,我想再推荐 6 个工具

前天,有个同学加我微信来咨询我:“老哥,我想抓取近期 5000 条新闻数据,但我是文科生,不会写代码,请问该怎么办?”有问必答,对于这位同学的问题,我给安排上。先说说获取数据的方式:一是利用现成的工具,我们只需懂得如何使用工具就能获取数据,不需要关心工具是怎么实现。打个比方,假如我们在岸上,要去海上某个小岛,岸边有一艘船,我们第一想法是选择坐船过去,而不会想着自己来造一艘船再过去。第二种是自己针...

weixin_39539002的博客 2078

Shopee滑块验证码太刁钻?手把手教你用Python+Playwright绕过弧形验证(附影刀RPA接入代码)

本文详细介绍了如何使用Python和Playwright结合SadCaptcha第三方服务高效破解Shopee平台的弧形滑块验证码,并集成到影刀RPA工作流中。该方案开发周期短、准确率高(>90%),特别适合跨境电商自动化操作,已在实际项目中验证成功。

weixin_29284657的博客 571

文本纠错项目代码调试

文本纠错项目调试

m0_67084346的博客 869

小破网站生存有多么难

xx局网络安全大检查,某日叫十几家公司自带笔记本电脑到局集合,查你公司网站或信息系统的服务器日志、数据库日志、iis日志……

291

别再为UE5像素流部署踩坑了!Windows服务器单实例保姆级避坑指南(含Node.js证书、coturn空文件夹等常见问题解决)

本文提供了UE5像素流在Windows服务器单实例部署中的全面解决方案,涵盖Node.js证书过期、coturn空文件夹等常见问题。通过详细的步骤指导和配置建议,帮助开发者高效完成部署,避免常见陷阱,特别适合局域网环境下的应用场景。

weixin_30315435的博客 467

一个小破网站,居然比Python 官方还牛逼

前两天,我发现有个前同事写的Shell脚本经常在出问题,考虑这个脚本一直挺不稳定的,维护起来也挺头疼,原因是Shell脚本写稍微复杂一点的逻辑,代码就变得十分臃肿,对比Python真的太差劲了。 这个Shell脚本中有一个功能是检查机器上的rpm包与中心端的包版本进行对比,在本地用Shell取rpm信息很方便,但要取rpm包版本,其实是很难的。 原因是rpm包的版本格式分非常多种,根本无法使用简单的字符串分割来取得具体的版本号,更不用说版本对比。 在重写这个功能的...

banzhuanasd的博客 552

[deprecated]第二章:DRM 框架概述:2.2 GEM显存管理概述

本文深入分析了Linux DRM子系统中GEM(Graphics Execution Manager)的显存管理机制。GEM通过核心数据结构drm_gem_object抽象显存buffer,结合drm_vma_offset_manager和drm_mm实现高效的地址空间分配与管理。该系统支持显存动态分配/回收、用户空间mmap映射、多进程访问隔离和跨设备共享等关键功能,并通过引用计数和同步机制确保并发安全。

图形/计算GPU的驱动与虚拟化技术分享园地 2546

UNet改进(23):如何用SLCAM模块提升UNet的分割性能

本文提出一种改进的UNet架构,通过引入轻量化注意力模块(SLCAM)增强医学图像分割性能。SLCAM整合了通道和空间双重注意力机制:通道注意力采用全局池化和共享MLP学习通道权重,空间注意力通过7×7卷积捕捉上下文信息。网络在传统UNet基础上,在每个下采样和上采样块后加入SLCAM模块,并保持跳跃连接结构。实验表明,该方法能自适应聚焦重要特征,在不显著增加计算负担的情况下提升分割精度,特别适用于医学图像等需精确边界的场景。未来可探索三维注意力、动态参数调整等改进方向。

2501_91516851的博客 441

一个小破网站,比Pandas官网还好用?

大家好,我是早起。 在去年九月,我将Pandas120题升级到Pandas300题,意外的收获了很多好评,到目前总下载量有数千次。 伴随着刷题人数越来越多,很多粉丝问我能否提供一份查询版,让答案附在习题下面,就像这样???? 但整理出来之后发现使用反馈并不是很好,偶尔想查询一些小的操作都需要先启动Jupyter Notebook,再点开多层文件夹才能找到,十分繁琐。 此外,相信大家在搜索部分pandas操作时,并不难找到相关的帖子或者教程,但是在阅读这些文章时会有一个体验即看上去很过瘾,自己一.

早起Python 7266

OTFS 消息传递算法信号检测【附matlab代码详解】

OTFS 消息传递算法方面的一些浅浅理解。

Cuby的博客 4013

一个小破网站,居然比 Python 官网还牛逼

前两天,我发现有个前同事写的 Shell 脚本经常在出问题,考虑这个脚本一直挺不稳定的,维护起来也挺头疼,原因是 Shell 脚本写稍微复杂一点的逻辑,代码就变得十分臃肿,对比 Python 真的太差劲了。 这个 Shell 脚本中有一个功能是检查机器上的 rpm 包与中心端的包版本进行对比,在本地用 Shell 取 rpm 信息很方便,但要取 rpm 包版本,其实是很难的。 原因是 rpm 包的版本格式分非常多种,根本无法使用简单的字符串分割来取得具体的版本号,更不用说版本对比。 在重写这个功能的时候,我

weixin_58753619的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

一个小破网站,居然比 Python 官网还牛逼!

这是「进击的Coder」的第563篇技术分享作者:明哥前两天,我发现有个前同事写的 Shell 脚本经常在出问题,考虑这个脚本一直挺不稳定的,维护起来也挺头疼,原因是 Shell 脚本...

静觅 425

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【python】 常用网站

Python Code Examples https://www.programcreek.com/python/ 一个小破网站,居然比 Python 官网还牛逼 - 王炳明的文章 - 知乎 https://zhuanlan.zhihu.com/p/395583596 Python Examples https://www.programiz.com/python-programming/examples

DUT_LYH 429

整理37个超牛逼的Python库,用过6个算你牛!

用了 2 周的时间整理了 Python 中所有的网站开发库(下文简称:Web 框架),供大家学习参考。Q:Web 框架到底是什么?A:Web 框架主要用于网站开发。开发者在基于 Web 框架实现自己的业务逻辑。Web 框架实现了很多功能,为实现业务逻辑提供了一套通用方法。Q:Web 框架有什么作用?A:使用 Web 框架,很多的业务逻辑外的功能不需要自己再去完善,而是使用框架已有的功能就可以。Web 框架使得在进行 网站开发的时候,减少了工作量。Q:我们为什么要使用 Web 框架?

2401_86168842的博客 1075

牛逼的网站

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33949359的博客 261

python官方中文文档下载,python中文官网下载安装

大家好,小编来为大家解答以下问题,python官方中文文档下载,python中文官网下载安装,现在让我们一起来看看吧!大家好,小编为大家解答python全系列官方中文文档的问题。很多人还不知道python 帮助文档中文版,现在让我们一起来看看吧!

Leospanb的博客 894

太牛逼了,一个国产AI开源项目,遥遥领先 !

为了能让大家更好的体验到agent,一句话总结:你只需要用自然语言描述任务,它就会自动调用大模型生成Python代码并执行,会写代码、还能自动操作浏览器、操作所有的应用程序等,全程不需要自己动手,它就把活儿干了。通过上面这个简单的任务需求,我们大致了解了Aipy这个开源工具有多么的牛逼,还有很多的应用场景就不详细介绍了,强烈建议大家去试试,你一定会很快爱上这个AI工具的!AiPy是通过写Python代码去执行的,说实在的,这个代码交给程序员,估计要写个半天,现在Aipy,不到一分钟就写好了,太牛逼了。

程序IT圈 1378
上一篇: PyPI又爆恶意代码,你中招了吗?
下一篇: 无意中发现了一位大佬的笔记
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值