问题描述
我想编写一个事件侦听器,该事件侦听器会将中间输出写入终端,并且在完成子任务后,它将继续向终端写入永久输出。 它将以相同的逻辑继续进行,直到完成所有子任务,然后“正常退出”。
从功能上讲,我希望它看起来像docker pull
调用:进度条列表,在相同的X行数上异步更新;完成后,程序将打印“完成”(或类似内容),并且进度条也已完成。
我看过诅咒,乌鸦图书馆;但是,它们的局限性在于“它们切换到辅助缓冲区(我想我希望/必须保留在主缓冲区中。)tqdm
似乎与我想要的东西有关(例如,https://github.com/kolayne/tqdm/tree/bars_position_fix#nested-progress-bars ,或者在https://github.com/tqdm/tqdm/pull/1054合并之后更正确),但是tdqm是关于进度条;我只想编排stdout。
我要启动/交付的PoC如下所示:
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/fd
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/fd <--- I would prefer if this disappeared,but I am fine with it if "it has to stay"
|-- fdinfo
|-- net
| |-- dev_snmp6
| |-- netfilter
| |-- rpc
| | |-- auth.rpcsec.context
....
(用有意义的任务/子任务名称代替任何)。
然后,一切都变了:微调器,颜色是否通过,中间任务输出的tail
,...等等等等
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)