python - 如何在 Python 中漂亮地打印经过时间/ETA?
问题描述
我以秒为单位测量程序的运行时间。根据我输入的数据量,这可能需要几毫秒到几天的时间。是否有 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,并已本地化为俄语、法语、韩语和斯洛伐克语。
推荐阅读
- java - SpringBootTest - 扫描配置文件的包?
- vuetify.js - 自动选择 v-data-table 中的行
- numpy - 更新数据框中的值
- c++ - 在 Eclipse 中设置 sfml/c++ 时遇到问题
- java - 如何以编程方式创建带有滚动视图的弹出窗口?
- excel - 尝试将 32 位 Excel 宏转换为 64 位
- .net - 微服务文件夹组织,使用服务和存储库
- sql - 如何在sql代码中添加逻辑语句?
- jupyter-notebook - 单元运行完成,但内核仍在运行
- react-native - 世博会,React Native takePictureAsync 不返回