首页 > 解决方案 > C++程序的Python文本解析器?

问题描述

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

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

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

谢谢你的时间。

标签: pythonc++windows

解决方案


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

您的调用代码看起来像:

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

文档中有一个专门用于嵌入 Python 的部分


推荐阅读