当我在Spyder中执行以下代码时:
print('a')
some_calculation
print('b')
print('c')
some_calculation
print('d')
print('e')
etc
我使用函数在字典中查找项目,它不会将所有字符串输出到Spyder中的控制台。例如:它将打印' a'和' b'什么都没有,在我点击ctrl + c停止执行后,它会突然打印出来的' c'同样(然后忙于第二次计算)。完成后,所有字母都已打印,但在代码执行时不会打印出来。
控制台似乎只能正确处理一个打印语句,并且在尝试显示下一个打印语句时,它已经开始计算冻结输出。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
那是因为print使用缓冲区。
由于您似乎使用的是python 3,因此您只需在所有打印件中使用flush=True
,它们就会立即打印出来:
print('a', flush=True)