C++ 程序的 Python 文本解析器?

标签 python c++ windows

任何尝试过使用 C++ 与 Python 进行文本解析的人都会注意到,在工作量和难度上存在显着差异,而 Python 通常是两者中较容易的一种。出于这个原因,我更愿意用 Python 编写一个文本解析函数,以便我用 C++ 编写的程序可以使用。

我想将一个 .py 文件编译成一个 .dll 但根据我所做的谷歌搜索,这似乎不可能。我可以将 .py 文件编译成 .exe 文件,然后将要解析的文本作为命令行参数传递。但是,我不想每次需要解析文本时都生成多个进程。

我想知道是否有可能在 C++ 程序中使用 Python 函数或其他一些人能想到的方法。我只是想避免使用 C++ 来解析文本。

感谢您的宝贵时间。

最佳答案

是的,你可以。您必须在您的应用程序中嵌入 python 解释器。

您的调用代码类似于:

Py_Initialize();
PyRun_SimpleString("import parser\n"
                   "parse(" + program_code + ")\n");

a whole section in the docs dedicated to embedding Python .

关于C++ 程序的 Python 文本解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51036086/

相关文章:

C++以只读方式打开文件

windows - 什么是 MSSRPD?

python - Jupyter 笔记本 Ipython : Groupby based on the values alphabetically

python - 一次指挥大量敌人

python - 在循环内递增 for 循环

java - 在任务栏上创建新任务的子框架

java - MouseWheelListener java- 可以检测到框架外吗?

python - 将字典与其他字典进行比较,并仅选择其他字典中存在的那些键

c++ - 为什么 std::array::size constexpr 具有简单类型(int,double,...)而不是 std::vector (GCC)?

c++ - 构建过程中的 QT 和 SQLITE 问题