【问题标题】:Replacing printed output in python not working as expected替换python中的打印输出无法按预期工作
【发布时间】:2018-08-28 09:06:59
【问题描述】:

我一直在尝试用 python 编写一个程序,用下一个值替换控制台中的打印值,本质上是制作一个基本的计时器。

在网上浏览了一段时间后,我找到了这段代码:

import time

number = 0

while True:
    print(number, end = "\r")
    number += 1
    time.sleep(1)

这应该会删除以前打印的数字并用一个新数字替换它,但我得到了这个输出:

0123456789

video

image

发生了什么事?

【问题讨论】:

  • 分享输出的图像而不是视频。
  • 那是空闲的吗? IDLE 不理解 '\r' 字符。在终端中尝试(尽管您可能想使用print(number, end='\r', flush=True),因为缓冲区通常在写入之前等待换行符)。
  • @FHTMitchell,非常感谢,它可以在终端中工作......本来真的很想使用 IDLE,但我想生活是残酷的。
  • 这更像是一种你不需要使用 idle 的观点,就功能而言,与 pycharm(它有一个很棒的免费社区版版本)等其他 python 编辑器相比,它非常初级,如果你喜欢idle 的交互式解释器,您可以使用基于控制台但又具有更多功能的 IPython

标签: python python-3.x


【解决方案1】:

您可以尝试在命令行或终端中执行该文件。

python3 counterl.py

这给了我预期的结果。

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多