三个令人惊叹的 Python 库

liftword3周前 (04-09)技术文章3

1. Humanize

Humanize”为数字、日期和时间提供简单、易于阅读的字符串格式。该库的是获取数据并使其更加人性化,例如,将秒数转换为更易读的字符串,例如“2 分钟前”。该库可以通过多种方式格式化数据,包括用逗号格式化数字、将时间戳转换为相对时间等等。

示例(整数)

# 导入库

import humanize 
import datetime as dt 

# 格式化数字
a = humanize.intcomma( 951009 ) 
# 将数字转换为句子
b = humanize.intword( 10046328394 ) 

print (a) 
print (b)

输出

951,009
10.0 billion

示例(日期和时间)

import humanize 
import datetime as dt 
    
a = humanize.naturaldate(dt.date( 2012 , 6 , 5 )) 
b = humanize.naturalday(dt.date( 2012 , 6 , 5 ))

print (a) 
print (b)

输出

Jun 05 2012
Jun 05

2. Pendulum

Pendulum 扩展了内置的 Python datetime 模块,添加了更直观的 API,用于处理时区并对日期和时间执行操作,例如添加时间间隔、减去日期以及在时区之间进行转换。它提供了一个简单、人性化的 API,用于格式化日期和时间。例子

# 导入库
import pendulum 
dt = pendulum.datetime( 2023 , 1 , 31 ) 
print (dt) 
 
#local() 使用本地时区创建日期时间实例
local = pendulum.local( 2023 , 1 , 31 ) 
print ( "Local Time:" , local) 
print ( "Local Time Zone:" , local.timezone.name) 

# 打印 UTC 时间
utc = pendulum.now( 'UTC' ) 
print ( "Current UTC time:" , utc) 
 
# 将 UTC 时区转换为欧洲/巴黎时间
europe = utc.in_timezone('Europe/Paris')
print ( "巴黎当前时间:" , europe)

输出

2023-01-31T00:00:00+00:00
Local Time: 2023-01-31T00:00:00+08:00
Local Time Zone: Asia/Shanghai
Current UTC time: 2023-10-08T07:41:14.184244+00:00
巴黎当前时间: 2023-10-08T09:41:14.184244+02:00

3. ftfy

Mojibake 是一个术语,用于描述由于编码或解码问题而出现的乱码或乱码文本。当以一种字符编码编写的文本使用不同的编码进行错误解码时,通常会发生这种情况。ftfy python 库将帮助您修复 Mojibake,这在 NLP 用例中非常有用。

例子

print (ftfy.fix_text( '使用“ftfy”更正句子。' )) 
print (ftfy.fix_text( '“文字没有问题' )) 
print (ftfy.fix_text( 'à pertuber la réflexion '))

输出


Correct the sentence using "ftfy".
 No problems with text
à perturber la réflexion

除了 Mojibake 之外,ftfy 还修复不正确的编码、不正确的行结尾和不正确的引号。ftfy 可以解码以下任何编码的文本:

  • Latin-1 (ISO-8859–1)
  • Windows-1252(cp1252 — 用于 Microsoft 产品)
  • Windows-1251(cp1251 — cp1252 的俄语版本)
  • Windows-1250(cp1250 — cp1252 的东欧版本)
  • ISO-8859–2(与 Windows-1250 不太一样)
  • MacRoman(用于 Mac OS 9 及更早版本)
  • cp437(用于 MS-DOS 和某些版本的 Windows 命令提示符)

相关文章

了解 Python 最常见的内置函数

Python 的内置函数基础Python 的内置函数是该语言不可或缺的一部分,无需额外的库即可提供基本功能。这些函数始终可用,无需导入任何模块即可使用。它们是在 C for CPython(标准 Py...

8-Python内置函数

Python 提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

Python用内置模块来构建REST服务、RPC服务

1写在前面和小伙伴们分享一些Python 网络编程的一些笔记,博文为《Python Cookbook》读书后笔记整理博文涉及内容包括: TCP/UDP服务构建 不使用框架创建一个REST风格的HTTP...

一文掌握Python 内置数据结构

列表Python 没有数组数据结构(大小固定),相反,它有一个列表数据结构,它是一个动态数组,可以存储混合数据类型的值。与传统数组相比,它具有优势,例如不必指定大小和混合数据类型。当创建列表时,内部会...

这就是Python 模块

1. 模块简介1.1 什么是模块编写较长程序时,建议用文本编辑器代替解释器,执行文件中的输入内容,这就是编写 脚本 。随着程序越来越长,为了方便维护,最好把脚本拆分成多个文件。编写脚本还一个好处,不同...

Python进阶-Day5:模块与包

学习目标掌握创建和导入自定义模块的方法。理解 __name__ == "__main__" 的用途和原理。能够创建一个简单的模块化计算器程序。学习内容与任务1. 理论学习自定义模块:在 Python...