相互打印多个语句

时间:2016-02-29 22:03:30

标签: python console spyder

当我在Spyder中执行以下代码时:

print('a')
some_calculation
print('b')
print('c')
some_calculation
print('d')
print('e')
etc

我使用函数在字典中查找项目,它不会将所有字符串输出到Spyder中的控制台。例如:它将打印' a'和' b'什么都没有,在我点击ctrl + c停止执行后,它会突然打印出来的' c'同样(然后忙于第二次计算)。完成后,所有字母都已打印,但在代码执行时不会打印出来。

控制台似乎只能正确处理一个打印语句,并且在尝试显示下一个打印语句时,它已经开始计算冻结输出。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

那是因为print使用缓冲区。 由于您似乎使用的是python 3,因此您只需在所有打印件中使用flush=True,它们就会立即打印出来:

print('a', flush=True)