Python C程序子进程挂在“ITER中的行”好的,我正在尝试从python脚本中运行一个C程序。目前,我正在使用一个测试C程序:#include <stdio.h>int main() {while (1) {
printf("2000\n");
sleep(1);}return 0;}来模拟我将要使用的程序,它不断地从传感器获取读数。然后我尝试读取输出(在本例中)"2000")来自于在python中具有子进程的C程序:#!usr/bin/pythonimport subprocess
process = subprocess.Popen("./main", stdout=subprocess.PIPE)while True:
for line in iter(process.stdout.readline, ''):
print line,但这行不通。通过使用print语句,它运行.Popen排队等候for line in iter(process.stdout.readline, ''):直到我按下Ctrl-C。这是为什么?这正是我所见过的大多数示例作为它们的代码,但它并不读取该文件。编辑:是否有办法使它只有在有东西可读的时候才能运行呢?
添加回答
举报
0/150
提交
取消