python - 使用 Python 的 Sublime Text 中的进度条

标签 python progress-bar sublimetext3 sublimetext

我在 MacOSX 上使用功能强大的 Sublime Text 3 编辑器来运行 python 代码。我想显示一个 for 循环的进度条,以及以下命令:

sys.stdout.write('\rProgress : %03.2f %%' % (100*float(i)/(N)))
sys.flush()

没有按预期清除输出窗口中先前打印的行 (\r),而是生成 N 行:

Progress : 0.25 %
Progress : 0.50 %
Progress : 0.75 %
Progress : 1.00 %
Progress : 1.25 %
Progress : 1.50 %
Progress : 1.75 %
Progress : 2.00 %
Progress : 2.25 %
Progress : 2.50 %
...

这不是很好读——我的结论是输出窗口可能是只读的。

有没有人建议改进 Sublime Text 中进度条的使用?

最佳答案

作为另一种替代解决方案您可以使用状态栏。当您设置状态栏消息时,先前的文本将被清除。 包控制还在安装包时使用状态栏。

例子:

Sublime text progress bar using status bar

import sublime, sublime_plugin
import time

class ExampleCommand(sublime_plugin.WindowCommand):
    def run(self, args):
        sublime.set_timeout_async(self.test,1)

    def test(self):
        i=80
        while i <= 100:
            sublime.status_message('%03.2f %%' % i)
            time.sleep(0.15)
            i+=0.25
        sublime.status_message('100% Stackoverflow!')

关于python - 使用 Python 的 Sublime Text 中的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205245/

相关文章:

html - 进度元素透明背景

ruby-on-rails - 美化 Ruby Sublime 包 "Check your ruby interpreter settings"

python - pandas 在 groupby sum 之后对每组内的值进行排序,并在使用 cumsum 后获取值的百分比

python - 使 kivy 应用程序可执行

linq-to-sql - 在评估 LINQ 查询时确定进度

android - 如何删除进度条底部的进度条编号?

html - 在 Sublime Text 3 中隐藏一行

text - 为什么在编写代码时Sublime Text 3不会跳行?

python - 如果我不说话,语音识别就会停止,如何让它继续听

python - 从 Mathematica 到 Python