五个让日常编码更简单的 Python 库

开发 前端
如果曾经在 Python 中使用过 subprocess 库,那么我们很有可能对它感到失望,它不是最直观的库,可能还有些复杂,并且很难处理底层系统调用的输出。

今天我们一起来研究一些非常有用的第三方模块,可以使得我们的日常编码变得更加简单方便。

​sh

https://github.com/amoffat/sh

如果曾经在 Python 中使用过 subprocess 库,那么我们很有可能对它感到失望,它不是最直观的库,可能还有些复杂,并且很难处理底层系统调用的输出。

但是 sh​ 库结束了低效使用子进程的痛苦,使用 sh 库,我们几乎可以进行任何想要的系统调用,就好像它是一个普通函数一样,这使得执行这些调用变得更加简单和直观。我们可以像使用普通 Python 函数一样使用它们。

下面是使用 ls​ 从 sh 获取目录内容的示例:

图片

我们所要做的就是像导入普通函数一样导入系统调用,最好的部分是所有函数都是动态生成的,因此我们应该可以访问底层系统中已经存在的大多数二进制文件。

下次当我们需要进行一些系统调用时,可以尝试使用 sh。

rstr

https://github.com/leapfrogonline/rstr

如果我们需要一些易于访问的随机数据的次数是无法计算的,无论是为代码构建测试、填充缓冲区还是用随机数据模糊代码以查看它在哪里中断,rstr 库都能满足我们的需求。

这个方便的小库可让我们生成不同类型的随机字符串数据,它可以生成字母数字数据、特殊符号,甚至使用正则表达式构建复杂的数据模式。

例如,假设我们想要一串一定长度的数字。我们可以使用下面的 rstr 片段来完成此操作:

图片

这将打印出随机选择的 10 位数字,便利!

IPython

https://ipython.org/

IPython 不是一般的模块,这是一个令人难以置信的交互式 shell 模块,可增强我们的 Python REPL。IPython 为交互式 Python shell 带来了一套很棒的功能,例如自动完成、彩色输出和运行细节。

图片

使用 IPython,引入类和检查函数变得容易得多。命令历史更易于导航,并且我们还可以获得类似于 Zsh 的强大的选项卡完成和自动完成功能。

Humanize

https://github.com/jmoiron/humanize

这个库实在令人兴奋,它将采用日期、时间和数字等数字,并将它们“人性化”成人类可读的短语,如“三点钟”或“100 亿”,更加优秀的是它会自动执行此操作!

例如,假设我们正在处理一堆非常大的数字(想想数百万和数十亿),并且希望以更友好的方式向用户展示它们。这个库可以做到这一点,甚至不费吹灰之力:

图片

Ouptu:

400.0 million

人性化模块也非常适合计算我们的股市收益(或损失……)并以易于阅读的方式呈现。

Emoji

https://github.com/carpedm20/emoji/

最后我们介绍一个有趣的库,这个库是将表情符号添加到文本中。没有人愿意将表情符号直接复制并粘贴到他们的代码中,或者在混乱的字符代码中摸索。

以下是如何在代码中添加眨眼表情符号的示例:

图片

这将打印出实际的表情符号,现在当用户在控制台中出错时,就可以向他们眨眼了。

责任编辑:武晓燕 来源: 萝卜大杂烩
相关推荐

2017-04-06 10:40:49

机器学习开源Python库

2020-07-15 08:37:11

JavaScript开发技术

2024-09-25 14:16:35

2022-10-31 07:09:15

拷贝代码项目

2022-07-13 14:40:50

Chrome前端日常开发

2020-06-01 07:41:52

Gmail邮箱邮件安全电子邮件

2022-04-01 08:42:37

开源排序库拖拽

2022-10-08 07:36:08

Kubernetes开源容器

2011-08-05 10:19:03

活动目录

2015-01-14 13:07:03

2020-05-07 17:03:49

Python编码开发

2023-01-17 15:31:40

Python数据集数组

2012-06-20 13:36:42

Surface平板

2020-05-07 10:18:06

JavaScript前端技术

2022-06-20 10:37:31

物联网智能安防智能建筑

2024-06-04 14:09:00

2022-04-19 09:18:56

Python代码Linux

2019-07-10 10:20:36

前端用户体验javascript

2019-04-04 14:05:20

consolejs前端
点赞
收藏

51CTO技术栈公众号