subprocess.communicate - 读取非换行终止的行

时间:2016-02-15 23:15:30

标签: python subprocess

我正在编写一个Python程序,它使用子进程模块通过ssh与设备的管理界面进行通信。有时,设备会提示输入的行不是换行符。如何让subprocess.communicate()将这些行返回给我?有没有办法读取无缓冲和逐字符?产生的I / O量非常小,所以我不担心这里的高开销。

1 个答案:

答案 0 :(得分:1)

使用bufsize=0打开流程将根据the subprocess docs.关闭输出缓冲我认为您仍然需要传递一些自定义文件类对象(例如StringIO)进入Popen stdoutstderr,您必须阅读这些内容; communicate()在返回任何命令输出之前等待进程终止。