from reprint import output
import time
if __name__ == "__main__":
with output(output_type='dict') as output_lines:
for i in range(10):
output_lines['Moving file'] = "File_{}".format(i)
for progress in range(100):
output_lines['Total Progress'] = "[{done}{padding}] {percent}%".format(
done = "#" * int(progress/10),
padding = " " * (10 - int(progress/10)),
percent = progress
)
time.sleep(0.05)
最终,如果您想要操纵屏幕,您需要使用底层操作系统库,这些库通常是:
如果你不介意只使用一个操作系统或者乐意在Windows上安装第三方库,那么@codeape的答案已经为你提供了许多选择
但是,如果您想要一个可以简单地pip安装的跨平台解决方案,可以使用asciimatics。作为开发这个包的一部分,我必须解决环境之间的差异,以提供一个在Linux、OSX和Windows上工作的API
对于进度条,可以使用this code使用this demo中所示的条形图对象
在Unix上,使用curses模块
在Windows上,有几个选项:
使用诅咒的简单示例(我是total curses n00b):
这里是一个用于Python 2/3的Python模块,只需几行代码即可解决这种情况;D
reprint - A simple module for Python 2/3 to print and refresh multi line output contents in terminal
您可以简单地将
output
实例视为正常的dict
或list
(取决于您使用的模式)。当您在output
实例中修改该内容时,终端中的输出将自动刷新:D根据您的需要,以下是代码:
相关问题 更多 >
编程相关推荐