繁体   English   中英

PyCharm print end='\\r' 语句不起作用

[英]PyCharm print end='\r' statement not working

已经有很多关于打印语句的其他问题,但我还没有找到我的问题的答案:

当我做:

for idx in range(10):
    print(idx, end="\r")

直接在(ipython)终端中,它工作正常并且总是覆盖上一行。 但是,当在带有 PyCharm 的模块中运行它时,我没有看到标准输出中打印出任何行。

这是一个已知的 PyCharm 问题吗?

尝试在打印字符串的开头(而不是结尾)添加\\r

    for idx in range(10):
        print('\r', idx, end='')

前面回车,并以 '' 结尾以避免换行 '\\n'。 避免空格的一种解决方案是使用格式约定:

    for idx in range(10):
        print("'\r{0}".format(idx), end='')

我遇到过同样的问题。 虽然我没有找到使用 print() 的解决方案,但我发现 sys.stdout.write 工作正常。 (Win10,Python 3.5.1,Pycharm 2016.3.2)

import sys
import time

def countdown(n):
    for x in reversed(range(n)):
        sys.stdout.write('\r' + str(x))
        time.sleep(1)

countdown(60)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM