跳转到主要内容

可读性文本

项目描述

可读性文本

PyPI Status Python Version License

Read the documentation at https://human-readable.readthedocs.io/ Tests Codecov

pre-commit Black

特性

  • 文件大小人性化。

  • 列表人性化。

  • 数字人性化。

  • 时间和日期人性化。

  • 国际化(i18n)至20+语言

    • 简体中文(zh_CN)
    • 巴西葡萄牙语(pt_BR)
    • 荷兰语(nl_NL)
    • 芬兰语(fi_FI)
    • 法语(fr_FR)
    • 德语(de_DE)
    • 印度尼西亚语(id_ID)
    • 意大利语(it_IT)
    • 日语(ja_JP)
    • 韩语(ko_KR)
    • 波斯语(fa_IR)
    • 波兰语(pl_PL)
    • 葡萄牙语(pt_PT)
    • 俄语(ru_RU)
    • 简体中文(zh_CN)
    • 斯洛伐克语(sk_SK)
    • 西班牙语(es_ES)
    • 台湾繁体中文(zh_TW)
    • 土耳其语(tr_TR)
    • 乌克兰语(uk_UA)
    • 越南语(vi_VI)

需求

  • 它在Python 3.8+上工作。

安装

您可以通过从pip PyPI安装Human Readable

$ pip install human-readable

基本用法

使用以下方式导入库

import human_readable

日期和时间人性化示例

human_readable.time_of_day(17)
"afternoon"

import datetime as dt
human_readable.timing(dt.time(6, 59, 0))
"one minute to seven hours"

human_readable.timing(dt.time(21, 0, 40), formal=False)
"nine in the evening"

human_readable.time_delta(dt.timedelta(days=65))
"2 months"

human_readable.date_time(dt.datetime.now() - dt.timedelta(minutes=2))
"2 minutes ago"

human_readable.day(dt.date.today() - dt.timedelta(days=1))
"yesterday"

human_readable.date(dt.date(2019, 7, 2))
"Jul 02 2019"

human_readable.year(dt.date.today() + dt.timedelta(days=365))
"next year"

精确时间差示例

import datetime as dt
delta = dt.timedelta(seconds=3633, days=2, microseconds=123000)
human_readable.precise_delta(delta)
"2 days, 1 hour and 33.12 seconds"

human_readable.precise_delta(delta, minimum_unit="microseconds")
"2 days, 1 hour, 33 seconds and 123 milliseconds"

human_readable.precise_delta(delta, suppress=["days"], format="0.4f")
"49 hours and 33.1230 seconds"

文件大小人性化示例

human_readable.file_size(1000000)
"1.0 MB"

human_readable.file_size(1000000, binary=True)
"976.6 KiB"

human_readable.file_size(1000000, gnu=True)
"976.6K"

列表人性化示例

human_readable.listing(["Alpha", "Bravo"], ",")
"Alpha, Bravo"

human_readable.listing(["Alpha", "Bravo", "Charlie"], ";", "or")
"Alpha; Bravo or Charlie"

数字人性化示例

human_readable.int_comma(12345)
"12,345"

human_readable.int_word(123455913)
"123.5 million"

human_readable.int_word(12345591313)
"12.3 billion"

human_readable.ap_number(4)
"four"

human_readable.ap_number(41)
"41"

浮点数人性化示例

human_readable.fractional(1.5)
"1 1/2"

human_readable.fractional(0.3)
"3/10"

科学记数法示例

human_readable.scientific_notation(1000)
"1.00 x 10³"

human_readable.scientific_notation(5781651000, precision=4)
"5.7817 x 10⁹"

完整说明可在human-readable.readthedocs.io找到。

本地化

如何在运行时更改区域设置

import datetime as dt
human_readable.date_time(dt.timedelta(seconds=3))
'3 seconds ago'

_t = human_readable.i18n.activate("ru_RU")
human_readable.date_time(dt.timedelta(seconds=3))
'3 секунды назад'

human_readable.i18n.deactivate()
human_readable.date_time(dt.timedelta(seconds=3))
'3 seconds ago'

您可以将额外的参数path传递给activate以指定搜索区域设置的路径。

human_readable.i18n.activate("xx_XX")
...
FileNotFoundError: [Errno 2] No translation file found for domain: 'human_readable'
human_readable.i18n.activate("pt_BR", path="path/to/my/portuguese/translation/")
<gettext.GNUTranslations instance ...>

您可以在贡献指南中查看如何添加新地区。

一个特殊的地区 en_ABBR,渲染输出的缩略版本

human_readable.date_time(datetime.timedelta(seconds=3))
3 seconds ago

human_readable.int_word(12345591313)
12.3 billion

human_readable.date_time(datetime.timedelta(seconds=86400*476))
1 year, 3 months ago

human_readable.i18n.activate('en_ABBR')
human_readable.date_time(datetime.timedelta(seconds=3))
3s

human_readable.int_word(12345591313)
12.3 B

human_readable.date_time(datetime.timedelta(seconds=86400*476))
1y 3M

贡献

欢迎贡献。要了解更多信息,请参阅贡献指南

许可证

MIT许可证下分发,Human Readable 是免费和开源软件。

问题

如果您遇到任何问题,请提供详细描述并提交问题

致谢

此库基于原始的humanize,并添加了一些功能,如列表、改进的命名、文档、功能测试、类型注解、错误修复和更好的本地化。

此项目是由@cjolowiczHypermodern Python Cookiecutter模板生成的。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

human_readable-1.3.4.tar.gz (52.3 kB 查看哈希值)

上传时间

构建分布

human_readable-1.3.4-py3-none-any.whl (54.7 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面