长虹电视网站建设中,运营推广seo招聘,央视新闻,旺道seo优化目录 01初识 Humanize
为什么选择 Humanize#xff1f;
安装 Humanize
02时间与日期的处理
时间差的展示
日期的展示
03数字的处理
数字的单位转换
数字的精确度控制
数字的千位分隔符
04文件大小的处理
文件…目录 01初识 Humanize
为什么选择 Humanize
安装 Humanize
02时间与日期的处理
时间差的展示
日期的展示
03数字的处理
数字的单位转换
数字的精确度控制
数字的千位分隔符
04文件大小的处理
文件大小的展示
05应用场景与实战案例
博客系统中的时间展示
电商系统中的销量展示
文件管理系统中的文件大小展示
06扩展与自定义
自定义时间格式
本地化支持
07结语 01初识 Humanize
Humanize 是一个 Python 库旨在将程序生成的数据转换为更加易读的格式。无论是将时间差转化为“5 分钟前”还是将大数字转化为“1.2 百万”Humanize 都能轻松搞定。它的 API 简单直观非常适合需要对数据进行友好展示的场景。 为什么选择 Humanize 人性化展示将机器友好的数据转换为人类友好的格式。 简单易用API 简单直观上手容易。 功能强大支持多种数据类型的转换如时间、日期、数字等。
安装 Humanize
Humanize 的安装非常简单只需要一行命令
pip install humanize02时间与日期的处理
时间差的展示
Humanize 可以将时间差转换为更自然的表达方式例如“刚刚”、“5 分钟前”、“2 天前”等。
import humanize
from datetime import datetime, timedelta# 现在的时间
now datetime.now()# 5 分钟前的时间
five_minutes_ago now - timedelta(minutes5)
print(humanize.naturaltime(five_minutes_ago)) # 输出5 minutes ago# 2 天前的时间
two_days_ago now - timedelta(days2)
print(humanize.naturaltime(two_days_ago)) # 输出2 days ago日期的展示
Humanize 也可以将日期转换为更友好的格式例如“2023 年 1 月 1 日”。
from datetime import date# 今天的日期
today date.today()
print(humanize.naturaldate(today)) # 输出today# 过去的日期
past_date date(2022, 12, 25)
print(humanize.naturaldate(past_date)) # 输出Dec 25 202203数字的处理
数字的单位转换
Humanize 可以将大数字转换为更易读的格式例如“1.2 百万”、“3.4 亿”。
# 大数字的转换
big_number 1234567
print(humanize.intword(big_number)) # 输出1.2 million# 更大的数字
bigger_number 1234567890
print(humanize.intword(bigger_number)) # 输出1.2 billion数字的精确度控制
Humanize 还可以控制数字的小数点精度使其更符合实际应用的需求。
# 小数点精度控制
precise_number 12345.6789
print(humanize.fractional(precise_number, ndigits2)) # 输出12,345.68数字的千位分隔符
Humanize 可以为大数字添加千位分隔符使其更易读。
# 千位分隔符
large_number 1234567890
print(humanize.intcomma(large_number)) # 输出1,234,567,89004文件大小的处理
文件大小的展示
Humanize 可以将文件大小转换为更友好的格式例如“10 MB”、“2.3 GB”。
# 文件大小的转换
file_size 1024 * 1024 * 10 # 10 MB
print(humanize.naturalsize(file_size)) # 输出10.0 MB# 更大的文件
larger_file_size 1024 * 1024 * 1024 * 2.3 # 2.3 GB
print(humanize.naturalsize(larger_file_size)) # 输出2.3 GB05应用场景与实战案例 博客系统中的时间展示
在博客系统中我们经常需要展示文章的发布时间。如果使用 Humanize可以让时间展示更加人性化。
from datetime import datetime, timedelta
import humanize# 模拟文章发布时间
publish_time datetime.now() - timedelta(hours3)# 使用 Humanize 转换时间
friendly_time humanize.naturaltime(publish_time)
print(f文章发布时间{friendly_time}) # 输出3 hours ago电商系统中的销量展示
在电商系统中商品销量通常是一个大数字。使用 Humanize 可以将销量转换为更易读的格式。
import humanize# 模拟商品销量
sales 1234567# 使用 Humanize 转换销量
friendly_sales humanize.intword(sales)
print(f商品销量{friendly_sales}) # 输出1.2 million文件管理系统中的文件大小展示
在文件管理系统中文件大小的展示非常重要。使用 Humanize 可以将文件大小转换为更友好的格式。
import humanize# 模拟文件大小
file_size 1024 * 1024 * 50 # 50 MB# 使用 Humanize 转换文件大小
friendly_file_size humanize.naturalsize(file_size)
print(f文件大小{friendly_file_size}) # 输出50.0 MB06扩展与自定义 自定义时间格式
Humanize 允许我们自定义时间格式使其更符合特定需求。
import humanize
from datetime import datetime, timedelta# 自定义时间格式
def custom_time_format(delta):if delta timedelta(minutes1):return just nowelif delta timedelta(hours1):return f{delta.seconds // 60} minutes agoelif delta timedelta(days1):return f{delta.seconds // 3600} hours agoelse:return f{delta.days} days ago# 注册自定义时间格式
humanize.i18n.activate(en)
humanize.time.naturaltime custom_time_format# 测试自定义时间格式
now datetime.now()
one_hour_ago now - timedelta(hours1)
print(humanize.naturaltime(one_hour_ago)) # 输出1 hours ago本地化支持
Humanize 支持多语言和本地化让你的应用更加国际化。
import humanize
from datetime import datetime, timedelta# 激活中文
humanize.i18n.activate(zh_CN)# 测试中文输出
now datetime.now()
two_days_ago now - timedelta(days2)
print(humanize.naturaltime(two_days_ago)) # 输出2 天前07结语 今天我和各位靓仔们一同探索了 Humanize 这个神奇的 Python 库。从基础操作到高级应用再到实际案例相信你已经对它有了全面的了解和掌握。Humanize 不仅让数据展示变得更加人性化还让我们的编码过程更加愉快。 希望你能将这些知识应用到实际项目中提升用户体验享受数据处理的乐趣。编程不仅是一种技能更是一门艺术。愿你在数据的世界里不断探索成为一个真正的“数据艺术家” httpcore一个小巧灵活的 python 库-CSDN博客Python爬虫如何搞定动态Cookie小白也能学会-CSDN博客Python魔法方法__call__深入详解-CSDN博客