gpt4 book ai didi

python - 在控制台中重写多行

转载 作者:行者123 更新时间:2023-12-03 21:25:57 24 4
gpt4 key购买 nike

我知道可以用“\r”一致地重写终端中显示的最后一行,但我无法确定是否有办法返回并编辑控制台中打印的前一行。

我想做的是为基于文本的 RPG 重新打印多行,但是,一位 friend 也想知道这一点,因为应用程序有一行专用于进度条,另一行描述下载。

即控制台将打印:

Moving file: NameOfFile.txt  
Total Progress: [######## ] 40%

然后在程序运行时适本地更新(两行)。

最佳答案

在 Unix 上,使用 curses模块。

在 Windows 上,有几个选项:

  • 类(class):http://www.lfd.uci.edu/~gohlke/pythonlibs/
  • 上面链接的 HOWTO 推荐 Console模块
  • http://newcenturycomputers.net/projects/wconio.html
  • http://docs.activestate.com/activepython/2.6/pywin32/win32console.html

  • 使用 curses 的简单示例(我是一个总诅咒 n00b):
    import curses
    import time

    def report_progress(filename, progress):
    """progress: 0-10"""
    stdscr.addstr(0, 0, "Moving file: {0}".format(filename))
    stdscr.addstr(1, 0, "Total progress: [{1:10}] {0}%".format(progress * 10, "#" * progress))
    stdscr.refresh()

    if __name__ == "__main__":
    stdscr = curses.initscr()
    curses.noecho()
    curses.cbreak()

    try:
    for i in range(10):
    report_progress("file_{0}.txt".format(i), i+1)
    time.sleep(0.5)
    finally:
    curses.echo()
    curses.nocbreak()
    curses.endwin()

    关于python - 在控制台中重写多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48342503/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com