【发布时间】:2018-12-04 18:34:06
【问题描述】:
任何尝试过在 C++ 和 Python 中进行文本解析的人都会注意到在工作量和难度上的巨大差异,而 Python 通常是两者中更容易的。出于这个原因,我更愿意用 Python 编写一个我用 C++ 编写的程序可以使用的文本解析函数。
我曾想过将.py 文件编译成.dll,但根据我所做的谷歌搜索,这似乎是不可能的。我可以将.py 文件编译成.exe 文件,然后将要解析的文本作为命令行参数传递。但是,我宁愿在每次需要解析文本时都生成多个进程。
我想知道是否有可能在 C++ 程序中使用 Python 函数或有人能想到的其他方式。我只是想避免使用 C++ 来解析文本。
感谢您的宝贵时间。
【问题讨论】:
-
您可以将 python 解释器构建到 c++ 程序中,但我很确定这将比在 c++ 中解析文本更困难。 docs.python.org/3/extending/embedding.html
-
@AlanBirtles 确实如此。该文档页面对于如何嵌入它非常模糊。它实际上只提供了在嵌入后使用 的代码示例。我很头疼。为了时间的缘故,我可能会找到一种方法来使用
.py可执行文件以我能找到的最有效的方式解析我的所有文本。谢谢。 -
这给你留下了一个(相当繁琐的)问题,即从 Python 获取结果并且必须转换它(即为 Python 数据结构编写“解析器”)或直接使用它。我认为用 C++ 编写解析器可能会更困难,但是编写 Python->C++ 接口也不是在公园里散步而且它很无聊,而且需要时间花在不那么无聊的事情上。