从 Python 调用 c++ 文件

Posted

技术标签:

【中文标题】从 Python 调用 c++ 文件【英文标题】:Calling a c++ file from Python 【发布时间】:2020-01-20 18:40:30 【问题描述】:

我有一个 Python 代码,在运行其中的所有内容后,我希望它只运行我在同一目录中的一个 c++ 文件。我读过关于 Cython 和 BoostPython 的文章,但我认为这不是我需要的(显然我可能是错的)。我不想调用函数,只需运行 c++ 算法。有什么简单的方法吗?

【问题讨论】:

python和c++程序之间需要共享数据吗? 当你说“c++文件”是指源文件还是可执行文件? 不,@snek_case,我只想运行 c++ 程序。 @foreknownas_463035818 源文件。 您需要先将源 C++ 文件编译(翻译)为可执行文件,然后才能运行它。您可以让 Python 运行编译器并指定您的程序(以及其他命令行参数),然后让 Python 运行可执行程序。另一种方法是为 C++ 查找或创建解释器。 【参考方案1】:

您可以尝试在脚本中将其作为子进程打开,如下所示:

import subprocess
subprocess.call(["g++", "hello_world.cpp"])
tmp=subprocess.call("./a.out")
print("printing result")
print(tmp)

【讨论】:

以上是关于从 Python 调用 c++ 文件的主要内容,如果未能解决你的问题,请参考以下文章

用c++调用python程序

从 Python 调用 C++ 64 位共享库

Python 绑定:从 Python 调用 C 或 C++

从 C++ 调用 Python

从 C++ 调用 python 函数时如何将 C++ 类作为参数传递?

从 C++“库”调用 python 方法