关于print语句已经有很多其他问题,但我没有找到问题的答案:
当我做:
for idx in range(10):
print(idx, end="\r")
Run Code Online (Sandbox Code Playgroud)
在(ipython)终端直接,它工作正常,并始终覆盖前一行.但是,在使用PyCharm的模块中运行时,我看不到stdout中打印的任何行.
这是一个已知的PyCharm问题吗?
小智 10
尝试:
for idx in range(10):
print('\r', idx, end='')
Run Code Online (Sandbox Code Playgroud)
回车在前面,并以''结束,以避免换行'\n'.避免空间的一种解决方案是使用格式约定:
for idx in range(10):
print("'\r{0}".format(idx), end='')
Run Code Online (Sandbox Code Playgroud)
小智 6
我遇到过同样的问题。尽管使用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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6409 次 |
| 最近记录: |