可读性文本
项目描述
可读性文本
特性
-
文件大小人性化。
-
列表人性化。
-
数字人性化。
-
时间和日期人性化。
-
国际化(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,并添加了一些功能,如列表、改进的命名、文档、功能测试、类型注解、错误修复和更好的本地化。
此项目是由@cjolowicz的Hypermodern Python Cookiecutter模板生成的。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
human_readable-1.3.4.tar.gz (52.3 kB 查看哈希值)
构建分布
human_readable-1.3.4-py3-none-any.whl (54.7 kB 查看哈希值)