我正在尝试在完全相同的位置打印:
然而,这会在不同的行中打印10个"ok":
我也尝试了以下方法。
但我得到了完全相同的结果。我在Python 2.7中使用pyscripter,我做错了什么?我还尝试了IDLE,在那里\r在末尾时结果为“okokokokokokokokokok”,当它在前面时结果为“ok ok ok ok ok ok ok ok ok ok”。
编辑:我在Windows 7上。
非常感谢您的帮助!
for i in range(10):
print("ok\r"),
然而,这会在不同的行中打印10个"ok":
ok
ok
...
我尝试将\r放在字符串前面。在这种情况下,我会得到一个空行,然后是10个ok:
[blank]
ok
ok
...
我也尝试了以下方法。
import sys
for i in range(10):
sys.stdout.write('ok\r')
sys.stdout.flush()
但我得到了完全相同的结果。我在Python 2.7中使用pyscripter,我做错了什么?我还尝试了IDLE,在那里\r在末尾时结果为“okokokokokokokokokok”,当它在前面时结果为“ok ok ok ok ok ok ok ok ok ok”。
编辑:我在Windows 7上。
非常感谢您的帮助!
\r
的规则,或者你正在使用Windows系统,导致出现错误。 - Jakob Bowyer\b
而不是\r
;如果是这样的话,你应该做, end=''
。 - behzad.nouriprint
函数已经被回溯到py2.7:from __future__ import print_function
,因此您仍然可以使用, end=''
。 - behzad.nouri__future__
导入,然后使用print('ok\r',end='')
,但仍然连续得到10个“ok”。 - casandra\r
和\b
)。我不知道pyscripter是否支持。你在CMD窗口中尝试过在普通的Python shell中运行代码吗? - Robᵩ