【问题标题】:Progress bar in Python for varying loopsPython中用于不同循环的进度条
【发布时间】:2017-12-04 13:36:59
【问题描述】:

我假设这不容易完成,但 atm 我已经在 python 中编写了 for 循环,它从一个文件夹中获取多个文件,并针对可执行文件运行它们以将它们转换为可读格式。问题是,几乎每次我运行脚本时文件的数量都会有所不同。整个过程需要一段时间,所以进度条会很好。我一直在尝试 tqdm、progress 等模块,但它们似乎都基于固定数量的迭代工作,这对我来说不起作用。

基本上,是否有任何可能的方法可以轻松实现进度条,该进度条可以根据执行转换所需的时间或根据要转换的数量来计算进度?

虽然说了这么多,但对于其中的一部分代码,与其接收文件,不如通过 python 在 cmd 中运行一个 powershell 脚本以使其成为同一代码的一部分。此脚本遍历许多文件并输出 1 个文件。同样,有没有办法在 python 中监控这个进度,即使在 python 中代码只是在 cmd 中运行一些东西?

【问题讨论】:

  • 听起来你只需要知道在脚本开始循环之前你将循环多少个文件。如果是这种情况,您可以在运行循环之前使用 os.listdir() 获取文件计数。

标签: python-3.x for-loop progress-bar


【解决方案1】:

试试 PyProg! PyProg 是一个用于 Python 的开源库,用于创建超级可定制的进度指示器和条形图。

目前是 1.0.2 版本;它托管在 Github 上并在 PyPI 上可用(链接如下)。它与 Python 3 和 2 兼容。

我实际上制作了 PyProg,因为我需要一个简单但超级可定制的进度条库。而且我也让它变得超级灵活,所以你可以使用set_total(<total>)设置你需要转换的文件总数,使用set_stat(<status>)设置当前进度,它会为你计算百分比!

您可以使用以下命令轻松安装它:pip install pyprog。该项目的 Github 页面上有一些使用它的示例。

PyProg Github:https://github.com/Bill13579/pyprog
PyPI:https://pypi.python.org/pypi/pyprog/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多