【问题标题】:How to sleep in Python 3 and remain in the same line?如何在 Python 3 中睡觉并保持在同一行?
【发布时间】:2018-03-18 16:36:18
【问题描述】:
  1. 我想打印一条带有 end='' 的消息
  2. 睡一秒钟
  3. 保持在同一行
  4. 使用“\b”删除上一条消息
  5. 打印一条新消息
  6. 返回步骤 1

例子:

第一个输出: 1 第二个输出: 2 第三个输出: 3 保持在同一行

不是:123

【问题讨论】:

    标签: python-3.x sleep


    【解决方案1】:

    你准备好使用\b了吗?您可以使用\r 将光标移回行首,这样您就可以覆盖已经存在的内容。如果后面的行有可能比前面的行短,你应该在右边用空格填充新行。比如:

    def f(x):
        for i in range(1, x+1):
            print(end='\r', flush=True)
            print('**{}**'.format(i), end='', flush=True)
            time.sleep(1)
    
    f(3)
    

    【讨论】:

    • @user8718189 以什么方式?
    • First time.sleep(1) 执行完毕;几秒钟后,只打印了“3”!
    • 您使用的任何终端都在缓冲输出(在打印该行之前等待换行)。将flush=True 添加到打印调用中。
    • 感谢您的支持,但现在它正在打印所需的输出,当我在字符串前放置 '\r' 时: print('\r1', end='') time.sleep(1) print('\r2',end='') time.sleep(1) print('\r3')
    猜你喜欢
    • 2020-05-16
    • 1970-01-01
    • 2014-03-01
    • 2011-10-19
    • 2012-11-03
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多