在单行上打印连续输出
这道题的目标是将文本输出到单行,覆盖以前的输出,创建一个实时进度条。有问题的代码:
print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!'
产生以下输出:
1784 KB / KB 1829 downloaded! 1788 KB / KB 1829 downloaded!
为了在同一行上实现连续输出,Python 提供了一个简单的解决方案。下面是使用 end 关键字修改后的代码:
print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!', end='\r')
end 关键字指定要放置在打印行末尾的字符。默认情况下,print() 以换行符 (n) 结尾,这会导致光标移动到下一行。但是,使用 end='r' 会插入一个回车符,将光标返回到当前行的开头。
这允许连续输出,而无需导入 sys 模块。 Python 的 print() 函数提供了许多其他可以简化编码任务的关键字参数,例如flush和file。
以上是如何在 Python 中打印单行连续输出?的详细内容。更多信息请关注PHP中文网其他相关文章!