我有一个Python脚本,我想从我拥有的CPP .exe中获取信息。
.exe使用printf
打印一个字符串以控制台。
我希望能够将此字符串放入我的Python代码中。
我希望能够在我的Python代码中执行以下操作:
gyro_data = GetFromCommandLine(cpp.exe.run())
也-我的cpp.exe有一个循环,该循环可以永久运行,并用字符串保持供稿控制台。能做到吗?还是我必须中断cpp exe才能返回某些内容,而不是一直打印到屏幕上?
答案 0 :(得分:2)
我建议使用subprocess
module。
然后您将能够执行类似的操作(此代码来自其文档,需要Python 3.7)
subprocess.run(["ls", "-l", "/dev/null"], capture_output=True)
返回
CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,
stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n', stderr=b'')
对于早期版本,您将像这样使用subprocess.Popen
your_process = Popen(['ls', '-l', '/dev/null'], stdout=subprocess.PIPE)
your_process.wait()
your_process_output = your_process.stdout().decode() # Here you will have a string
此代码段可以很容易地包装为一个函数。