如何在控制台上的相同位置写入输出?

我是python的新手,我正在编写一些脚本来自动从FTP服务器等下载文件。我想显示下载的进度,但我希望它保持在相同的位置,例如:


输出:


正在下载文件FooFile.txt [47%]


我试图避免这样的事情:


     Downloading File FooFile.txt [47%]

     Downloading File FooFile.txt [48%]

     Downloading File FooFile.txt [49%]

我该怎么做呢?



慕工程0101907
浏览 399回答 3
3回答

慕无忌1623718

您还可以使用回车:sys.stdout.write("Download progress: %d%%   \r" % (progress) )sys.stdout.flush()

慕妹3242003

使用像curses模块这样的终端处理库:curses模块提供了curses库的接口,这是便携式高级终端处理的事实标准。

手掌心

Python 2我喜欢以下内容:print 'Downloading File FooFile.txt [%d%%]\r'%i,演示:import timefor i in range(100):    time.sleep(0.1)    print 'Downloading File FooFile.txt [%d%%]\r'%i,Python 3print('Downloading File FooFile.txt [%d%%]\r'%i, end="")演示:import timefor i in range(100):    time.sleep(0.1)    print('Downloading File FooFile.txt [%d%%]\r'%i, end="")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python