好的,我试图从python脚本运行一个C程序.目前我正在使用测试C程序:
#includeint main() { while (1) { printf("2000\n"); sleep(1); } return 0; }
模拟我将要使用的程序,它不断地从传感器获取读数.然后我试图"2000"
从C程序读取输出(在这种情况下)与python中的子进程:
#!usr/bin/python import 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.
为什么是这样?这正是我见过的大多数示例都是他们的代码,但它没有读取文件.
编辑:
有没有办法让它只在有东西被阅读时才能运行?