我有一个Python脚本,我想从CPP .exe中获取信息。
.exe使用printf
将字符串打印到控制台。
我希望能够将此字符串放入我的Python代码中。
我希望能够在我的Python代码中执行以下操作:
gyro_data = GetFromCommandLine(cpp.exe.run())
另外 - 我的cpp.exe有一个永远运行的循环,并继续为控制台提供字符串。可以这样做吗?或者我是否必须打破我的cpp exe以返回一些内容而不是一直打印到屏幕上?
我建议使用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
这个片段很容易被包装成一个函数。