【问题标题】:Human readable output in bits以位为单位的人类可读输出
【发布时间】:2016-09-09 18:45:04
【问题描述】:

我查看了模块 humanizehumanfriendly,它们都不能将大的位值转换为人类可读的位输出(例如 Mbits、Gbits、Tbits、.. ETC)。有没有人遇到过这样的模块?示例:

mbits = 1000000
gbits = 1000000000

然后

print(human.bits(mbits)) # would output "1 Mbit"
print(human.bits(gbits)) # would output "1 Gbit"

...等等,直到exabit。

【问题讨论】:

  • 你能提供你正在寻找的例子吗?
  • @ScottHunter 我刚刚更新了一个示例。
  • 为什么不写一个?关于这个的问题至少是关于主题的(征求第 3 方模块显然不是)

标签: python


【解决方案1】:

你可以试试hurry.filesize

>>> from hurry.filesize import size
>>> size(11000)
'10K'

还有一个库bitmath

>>> from bitmath import *
>>> small_number = MiB(10000)
>>> print small_number.best_prefix()
9.765625 GiB

【讨论】:

  • 谢谢,但这不是我想要的。我需要以位而不是字节显示人类可读的值。我需要显示以位为单位的带宽量,而不是以字节为单位的文件大小。似乎每个人类可读的模块都只考虑字节。
  • 如果你想初始化一个以字节为单位的变量,你可以简单地说size = bitmath.Byte(10000)
  • 这又是字节。我需要位。 :)
  • bitmath 可以检测位值而不是必须指定“MiB(10000) 吗?
  • 是的,需要为位数学指定单位。有 parse_string 功能,但除非您指定单位,否则它不起作用。
猜你喜欢
  • 1970-01-01
  • 2013-01-21
  • 2012-05-12
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多