[terminal]关于进度条的学习

Posted Life is too short, I python.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[terminal]关于进度条的学习相关的知识,希望对你有一定的参考价值。

在PowerShell中隐藏光标

在pip的源码C:\Python36\Lib\site-packages\pip\utils\ui.py中发现了:

 1 @contextlib.contextmanager
 2 def hidden_cursor(file):
 3     # The Windows terminal does not support the hide/show cursor ANSI codes,
 4     # even via colorama. So don‘t even try.
 5     if WINDOWS:
 6         yield
 7     # We don‘t want to clutter the output with control characters if we‘re
 8     # writing to a file, or if the user is running with --quiet.
 9     # See https://github.com/pypa/pip/issues/3418
10     elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO:
11         yield
12     else:
13         file.write(HIDE_CURSOR)
14         try:
15             yield
16         finally:
17             file.write(SHOW_CURSOR)

本来都打算放弃了, 第二天在windows上PowerShell中一试居然可以

具体HIDE_CURSOR的代码在C:\Python36\Lib\site-packages\pip\_vendor\progress\helpers.py文件中

1 HIDE_CURSOR = \x1b[?25l
2 SHOW_CURSOR = \x1b[?25h

跟进度条的斗争, 从sys.stdout.write()和sys.stdout.flush(), 到progressbar2, 再到tqdm, 再到之后因为tqdm在jupyter notebook中好看, 于是折腾anaconda, 最终试着研究tqdm源码, 发现ascii参数, 再到研究pip源码,着实学到不少, 不过像本少这种门外少年, 还是需要时间慢慢来, 才能接受看源码的设定. 苦笑...

最后附上个人定制进度...称不上条了....

 

以上是关于[terminal]关于进度条的学习的主要内容,如果未能解决你的问题,请参考以下文章

关于进度条的 6 个 Python 实用技巧

用于 onActivityCreated 中通用图像加载器的片段中进度条的 NullPointerException

关于VB.NET进度条的实例

关于VB.NET进度条的实例

进度条与拖动条的使用学习

关于文件上传下载以及其他进度条的实现