0
当我执行中的Spyder下面的代码:后,打印多个语句相互
print('a')
some_calculation
print('b')
print('c')
some_calculation
print('d')
print('e')
etc
,我用一个函数来查找项目在字典中,也不会输出所有的字符串到控制台Spyder的。例如:它会打印'a'和'b',然后什么也不打印,并且在我点击ctrl + c停止执行后,它会突然打印出'c'(然后忙于第二次计算)。完成后,所有字母都已打印完毕,但不会在执行代码时打印。
看来,控制台只能正确处理一个打印语句,并试图显示下一个它已经冻结输出的计算开始。有什么方法可以解决这个问题吗?
这是奇怪。你能提供代码库的实际代码吗?你提到的行为是不可能的。 –
以换行符结尾的控制台输出应该立即显示。也许Spyder正在干扰这个?尝试在每次打印呼叫后放置'sys.stdout.flush()'。 –
sys.stdout.flush()做到了。我注意到我正在使用print('a',end =''),所以下一个输出将放在可能混乱缓冲区的同一行上。冲洗输出诀窍!谢谢 –