我是一个初学者,正在研究非常基本的技能。
我正在Windows的命令行中制作一个简单的文字游戏,并且具有让用户读取最新语句并通过像Ctrl-C一样引起KeyboardInterrupt来跳过它的功能。
from time import sleep
def wait(seconds):
try:
sleep(seconds)
except KeyboardInterrupt:
pass
return
当我要打印某些东西而以后没有换行符时,就会出现问题。在这种情况下,wait()函数将在print()函数之前执行
# functions properly, but has unwanted newline
print("test", end='test\n')
wait(3)
# in windows CMD, wait() executes before print()
print("test", end='test')
wait(3)
我知道有多种方法可以使用TKinter,但是我想知道为什么会这样,而不是完全避免这种情况。
编辑:我一直在搜索,发现问题不是除了块以外的尝试,而是sleep(): Error with Print and Sleep in Python 答案副本:
您应该使用:
print (a, end="", flush=True)
因为控制台输出是行缓冲的。
答案 0 :(得分:0)
我同意你的回答。您应该使用:
print(a, end="", flush=True)
因为控制台输出是行缓冲的。