python - C++程序的Python文本解析器?
问题描述
任何尝试过在 C++ 中与 Python 相比的文本解析的人都会注意到在工作量和难度上存在相当大的差异,而 Python 通常是两者中更容易的。出于这个原因,我更愿意用 Python 编写一个我用 C++ 编写的程序可以使用的文本解析函数。
我想过将.py
文件编译成 a .dll
,但根据我所做的谷歌搜索,这似乎是不可能的。我可以将文件编译.py
成.exe
文件,然后将要解析的文本作为命令行参数传递。但是,我宁愿在每次需要解析文本时都生成多个进程。
我想知道是否有可能在 C++ 程序中使用 Python 函数或有人能想到的其他方式。我只是想避免使用 C++ 来解析文本。
谢谢你的时间。
解决方案
是的你可以。你必须在你的应用程序中嵌入 python 解释器。
您的调用代码看起来像:
Py_Initialize();
PyRun_SimpleString("import parser\n"
"parse(" + program_code + ")\n");
文档中有一个专门用于嵌入 Python 的部分。
推荐阅读
- python - 为什么这个 python 正则表达式失败
- javascript - Vue组件内部的数组在控制台登录时有多个reactiveSetter和reactiveGetter方法
- amazon-web-services - 如何使用 CSV 机密文件对 AWS EC2 进行 ssh
- flutter - 如何在颤动中更改显示日期选择器的语言
- c# - 从与 DateTime.Now 比较的日期列表中查找最接近的日期
- python - 如何检查 scipy 分布是否是离散的?
- r - 如何在 R 中转换一组列并动态重命名它们?
- c# - 使用 LazZiya ExpressLocalization Nuget 包本地化 web 应用程序
- c# - 带有 React 的 .NET Core 3 - 如何打开新选项卡以显示文档
- string - 带有 [x] 的 Qlikview 源列标签