gpt4 book ai didi

Python 3.7.1 try except block 在命令行中以错误的顺序发生

转载 作者:太空宇宙 更新时间:2023-11-03 21:33:45 25 4
gpt4 key购买 nike

我是一名初学者,正在学习非常基本的技能。

我正在 Windows 命令行中制作一个简单的文本游戏,并且有一个功能可以让用户读取最新的语句,并通过像使用 Ctrl-C 一样引发键盘中断来跳过它。

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,但我想知道为什么会发生这种情况,而不是如何完全避免它。

编辑:我继续搜索,发现问题不是 try except block ,而是 sleep(): Error with Print and Sleep in Python答案副本:

您应该使用:

print (a, end="", flush=True)

因为控制台输出是行缓冲的。

最佳答案

我同意你的回答。您应该使用:

print(a, end="", flush=True)

因为控制台输出是行缓冲的。

关于Python 3.7.1 try except block 在命令行中以错误的顺序发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53367807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com