跳转到主要内容

用于补充multiprocessing.Process的多个进度条实现

项目描述

progrock.MultiProgress 类与模块级别公开的方法(如 progrock.increment)结合使用,创建全屏体验,允许用户跟踪单个进程在工作时的进度。

Version Downloads License

安装

可以使用您选择的工具通过Python包索引安装progrock。我更喜欢使用pip。

pip install progrock

文档

https://progrock.readthedocs.org

需求

除了Python标准库之外没有其他需求。

屏幕截图

以下图像显示了示例代码列表的操作

http://i.imgur.com/wi9MAdp.png

示例

以下示例将为运行其上的系统上的每个CPU核心创建一个进程,显示多进度条屏幕。子进程将迭代100次,更新其进度条然后休眠最多1秒。

import progrock
import random

def example_runner(ipc_queue):
    # Update the processes status in its progress box
    progrock.set_status(ipc_queue, 'Running')

    # Increment the progress bar, sleeping up to one second per iteration
    for iteration in range(1, 101):
        progrock.increment(ipc_queue)
        progrock.increment_app(ipc_queue)
        time.sleep(random.random())

processes = []

# Create the MultiProgress instance
steps = multiprocessing.cpu_count() * 100
with MultiProgress('Example', steps=steps) as progress:

    # Spawn a process per CPU and append it to the list of processes
    for proc_num in range(0, multiprocessing.cpu_count()):
        processes.append(progress.new_process(example_runner))

    # Wait for the processes to run
    while any([p.is_alive() for p in processes]):
        time.sleep(1)

版本历史

可在https://progrock.readthedocs.org找到

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源分布

progrock-0.3.1.tar.gz (7.9 kB 查看哈希值)

上传时间

构建分布

progrock-0.3.1-py2.py3-none-any.whl (10.8 kB 查看哈希值)

上传时间 Python 2 Python 3

由支持