V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
geew
V2EX  ›  问与答

python 怎么在终端打印多行并刷新呢?

  •  
  •   geew · 2015-06-11 16:04:12 +08:00 · 6380 次点击
    这是一个创建于 3446 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就是类似显示进度条那样子的显示方式 只不过要求多行的

    用了sys.stdout.flush()来弄 只能显示单行 可以做到多行的效果吗?
    3 条回复    2015-06-11 19:21:37 +08:00
    lzachilles
        1
    lzachilles  
       2015-06-11 17:20:26 +08:00   ❤️ 1
    ncursor
    rudy1224
        2
    rudy1224  
       2015-06-11 17:38:42 +08:00   ❤️ 1
    http://www.zhihu.com/question/21100416

    Unix平台下用python标准库里边自带的Curses, Windows下可以用Console。

    试了一下(windows 8.1, python 2.7):

    import Console
    import time

    c = Console.getconsole()

    c.title("myprint")

    # 输出到指定位置
    for i in xrange(1000):
    c.text(0, 0, str(i))
    c.text(0, 1, str(i+1))
    time.sleep(0.1)

    得到的是这样:
    aec4d
        3
    aec4d  
       2015-06-11 19:21:37 +08:00
    和我这2天关注的需求一样~~这里有个不错的案例https://github.com/aaren/multi_progress
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2917 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:36 · PVG 21:36 · LAX 05:36 · JFK 08:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.