是否有没有w.o换行符的函数而不是sys.stdout.write或print(“”,end =“”)?

时间:2019-06-25 16:39:04

标签: python python-3.x windows output console-application

我正在尝试使用python命令行制作游戏引擎,但是sys.stdout.writeprint('',end='')陷入了困境,并使其崩溃。

我尝试了stdoutprint的{​​{1}}关键字参数,但是它们使命令行崩溃。发生了什么事?

使用不带end参数的print的这段代码可以正常工作:

end

使用while True: print(' = === ===== ======= ========= =========== ============= YYYYYYYYYYY ================================================================================') 来防止新行打印时,出现了以下问题:

sys.stdout.write

我希望它可以与import sys while True: sys.stdout.write(' = === ===== ======= ========= =========== ============= YYYYYYYYYYY ================================================================================') sys.stdout.flush() printend一起快速运行,但是控制台会停顿下来并崩溃。

1 个答案:

答案 0 :(得分:4)

您正在使用IDLE shell运行程序,不要

IDLE在输出文本很长的行时对文本的输出管理不善,确实会变慢(这是没有foreach关键字参数的print正常工作的原因,因为您要打印多行,而不是打印越来越长的一行)。

相反,只需使用标准的Windows命令行(cmd.exe)。

您可以通过GUI运行.py文件或运行以下命令来执行此操作(假设安装已正确配置):

end

在命令行中。

早在2006年,它就被报道为Python(IDLE shell window gets very slow when displaying long lines)中的错误,问题仍然存在。

您可以在this堆栈溢出帖子中阅读更多内容,包括一些数字。