python中的flush、flushinput和flushoutput有什么区别?

use*_*283 5 python flush

我正在用 python 在 RPi 和相机之间进行串行通信。我使用从 RPi 发送一些数据ser.write(),并使用从 RPi 中的相机读取数据ser.read()。然后我想知道如果我在读取命令之后添加这些,会发生什么ser.flush()ser.flushinput()并且会做什么。ser.flushoutput()

我假设ser.flush()会让程序等待,直到读取缓冲存储器中的所有数据。但我不明白另外两个会做什么

ser.write()有人可以告诉我,这三个在串行通信中使用时有什么区别,以及当我在或 之后单独使用它们时会发生什么ser.read()