今天为大家分享 5 个让日常编码更简单的 Python 库,全文3900字,阅读15分钟。

一、sh

https://github.com/amoffat/sh

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

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

下面是使用 ls 从 sh 获取目录内容的示例:
python学习之5个让日常编码更方便简单的库-LMLPHP
我们所要做的就是像导入普通函数一样导入系统调用,最好的部分是所有函数都是动态生成的,因此我们应该可以访问底层系统中已经存在的大多数二进制文件。

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

二、rstr

https://github.com/leapfrogonline/rstr

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

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

1、生成随机字符串:可以使用 rstr.xeger 方法生成满足指定正则表达式的随机字符串。例如,生成一个包含三个小写字母的随机字符串可以使用以下代码:

import rstr

random_string = rstr.xeger(r'[a-z]{3}')
print(random_string)

输出可能是:“abc”

2、正则表达式匹配:可以使用 rstr.match 方法检查字符串是否与指定的正则表达式匹配。例如,检查一个字符串是否匹配一个包含三个小写字母的正则表达式可以使用以下代码:

import rstr

result = rstr.match(r'[a-z]{3}', 'abc')
print(result)  # True

输出为 True,表示匹配成功。

3、正则表达式替换:可以使用 rstr.replace 方法将满足指定正则表达式的字符串替换为其他字符串。例如,将字符串中的所有小写字母替换为大写字母可以使用以下代码:

import rstr

replaced_string = rstr.replace(r'[a-z]', 'ABC', 'abcde')
print(replaced_string)

输出为:“ABCABCABCABCe”

4、例如,假设我们想要一串一定长度的数字。我们可以使用下面的 rstr 片段来完成此操作:
python学习之5个让日常编码更方便简单的库-LMLPHP
这将打印出随机选择的 10 位数字,便利!

三、Ipython

https://ipython.org/

IPython 不是一般的模块,这是一个令人难以置信的交互式 shell 模块,可增强我们的 Python REPL。

IPython 为交互式 Python shell 带来了一套很棒的功能,例如自动完成、彩色输出和运行细节。
python学习之5个让日常编码更方便简单的库-LMLPHP
使用 IPython,引入类和检查函数变得容易得多。命令历史更易于导航,并且我们还可以获得类似于 Zsh 的强大的选项卡完成和自动完成功能。

四、Humanize

https://github.com/jmoiron/humanize

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

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

python学习之5个让日常编码更方便简单的库-LMLPHP
人性化模块也非常适合计算我们的股市收益(或损失……)并以易于阅读的方式呈现。

五、Emoji

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

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

1、将Unicode字符串转换为Emoji表情符号 可以使用unidecode库将Unicode字符串转换为ASCII字符串,然后使用emoji库将ASCII字符串转换为Emoji表情符号。
示例代码:

import emoji
from unidecode import unidecode

# Unicode字符串
text = "I love 🍕"
# 转换为ASCII字符串
text = unidecode(text)
# 转换为Emoji表情符号
text = emoji.emojize(text)
print(text)

输出结果:
I love 🍕

2、将Emoji表情符号转换为Unicode字符串 可以使用emoji库将Emoji表情符号转换为Unicode字符串。
示例代码:

import emoji

# Emoji表情符号
text = "I love 🍕"
# 转换为Unicode字符串
text = emoji.demojize(text)
print(text)

输出结果:
I love 🍕

3、检查字符串中是否包含Emoji表情符号 可以使用emoji库的is_emoji()方法判断一个字符是否是Emoji表情符号。
示例代码:

import emoji

# 字符串
text = "I love 🍕"
# 检查是否包含Emoji表情符号
for char in text:
    if emoji.is_emoji(char):
        print(f"Found emoji: {char}")

输出结果:
Found emoji: 🍕

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

python学习之5个让日常编码更方便简单的库-LMLPHP
这将打印出实际的😉表情符号,现在当用户在控制台中出错时,就可以向他们眨眼了!

10-08 13:08