替换打印的文本

Dán*_*agy 1 command-line println swift

我创建了一个命令行工具,该工具执行一些较长的操作,并且我想通过打印语句来通知用户,例如:

"10% Done"
"20% Done"
Run Code Online (Sandbox Code Playgroud)

完成多少百分比的手术。如果我使用println,则每个进度都将打印到新行中(显然),但是有一种快速的方法,我可以用新的文本替换最后打印的文本,因此在控制台上,您只能读取实际百分比,不是实际的和之前打印的?

Mar*_*n R 5

如果输出到终端,则可以使用以下事实 \r:(回车)将“光标”移动到当前行的开头,而无需前进到下一行:

print("10% done \r")
print("20% done \r")
print("100% done\n")
Run Code Online (Sandbox Code Playgroud)

(但是请注意,这在Xcode调试器控制台中不起作用。)


pus*_*rnk 5

像这样的东西在终端控制台上工作:

import Foundation
for i in 1...10 {
    print("\(i) \r", terminator: "")
    fflush(stdout)
    sleep(1)
}
Run Code Online (Sandbox Code Playgroud)