【发布时间】:2020-06-16 10:41:00
【问题描述】:
我希望我的 C++ 进程传递它们的返回值来打开一个 Python 脚本。
cpp 示例文件
int main()
{
//do something
//process is going to finish and is gonna return, for simplicity, 0
//retval = 0, or whatever the return value is going to be
popen("mypython_script.py retval")
return 0;
}
mypython_script.py
if __name__ == "__main__":
cpp_retval = sys.argv[1]
print(cpp_retval)
我不知道 C++ 文件是否可以按照描述发送它们的返回值,但这只是我想要实现的一般行为。
我还可以控制每个 C++ 进程的父进程:它是另一个 python 脚本,负责打开 C++ 文件并在需要时终止它们的进程,所以如果您有一个涉及使用父进程获取从“cpp 示例文件”返回值,这非常受欢迎
编辑:我忘了补充一点,我不能要求父 python 进程等待 C++ 程序返回一些东西。我的程序中决不能有任何形式的“等待”。
【问题讨论】:
-
可以使用python子进程吗?在这种情况下,您可以轻松检查返回值。见stackoverflow.com/questions/9041141/…。
标签: python c++ return-value popen