[英]How to pretty-print elapsed times/ETAs in Python?
我正在测量程序的运行时间(以秒为单位)。 根据我输入的数据量,这可能需要几毫秒到几天的时间。 是否可以使用Python模块将秒数转换为最有用的单位并显示? 近似值很好。
例如,50应该变成50 seconds
,590应该变成10 minutes
, 100000
应该变成1 day
等等。 我可以自己写基本的东西,但是我相信人们对这一点的思考比我想的要多,并且考虑了许多我在1000年内都不会想到的边缘情况:)
编辑:我注意到tqdm
必须具有与此相关的一些逻辑,因为它会相应地选择ETA字符串的长度。 相比
for _ in tqdm.tqdm(range(10)): time.sleep(1)
同
for _ in tqdm.tqdm(range(100000)): time.sleep(1)
编辑:我也找到了这个要点,但我更喜欢至少具有一些维护性的代码:) https://gist.github.com/alexwlchan/73933442112f5ae431cc
如果需要,请关闭问题, humanize.naturaldelta
是答案:
这个适度的软件包包含各种常见的人性化实用程序,例如将数字转换为模糊的人类可读持续时间(“ 3分钟前”)或转换为人类可读的大小或吞吐量。 它与python 2.7和3.3一起使用,并且本地化为俄语,法语,韩语和斯洛伐克语。
我刚发现箭 :
Arrow是一个Python库,它提供了一种明智且人性化的方法来创建,处理,格式化和转换日期,时间和时间戳。
它也具有humanize(),并且维护得更好,看来: https : //arrow.readthedocs.io/en/latest/#humanize
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.