将输出写入控制台中的相同位置

Wil*_*man 7 julia ijulia-notebook

我喜欢在IJulia笔记本上工作,并希望一遍又一遍地在同一行上打印某些流程的状态.

以下面链接中给出的示例为例,我们需要一些输出:

Downloading File FooFile.txt [47%]
Run Code Online (Sandbox Code Playgroud)

并希望避免这样的事情:

 Downloading File FooFile.txt [47%]
 Downloading File FooFile.txt [48%]
 Downloading File FooFile.txt [49%]
Run Code Online (Sandbox Code Playgroud)

在Python的情况下,我在这里找到了答案.

什么是解决方案?

Mat*_* B. 10

Python答案中的"魔力"并不是Python特有的......它只是\r字符:它将光标位置重置为行的开头(不创建新行).如果您的终端支持此类光标移动,则后续打印指令将覆盖以前的文本.

在朱莉娅:

print("Download progress: $(progress)%   \r")
flush(STDOUT)
Run Code Online (Sandbox Code Playgroud)

您还可以查看ProgressMeter.jl以获得更漂亮的光标移动和输出.