【问题标题】:Calling a python program with c++用c++调用python程序
【发布时间】:2019-11-10 17:56:55
【问题描述】:

我想制作一个 c++ 程序,它可以从文件中搜索 href,并且该 href 需要被抓取。为此,我使用 python 从 href 中抓取数据并将其保存在文件中。现在我的问题是如何将 href 发送到 python 程序?

【问题讨论】:

标签: python c++


【解决方案1】:

您可以执行命令并让python解释器来完成这项工作。

int result = system("python_path python_file_path.py");

或者 Boost 有一个库用于 Boost.Python

【讨论】:

  • std::system 语句正在调用主机命令处理器,它允许执行诸如“ls -l”之类的终端程序以及诸如“python3 hello.py”之类的python脚本。它可以完成这项工作,但这是一种糟糕的编程风格。将 C++ 与 Python 程序连接起来的更详细的形式是使用可以通过 REST 框架实现的形式化 API。
  • 是的,我同意你的观点,这就是为什么我也添加了 Boost api 解决方案。我只是想让他知道system funcion 以及非 api 解决方案。因为如果他在c++程序中执行一点python脚本,system就不会受到伤害。
【解决方案2】:

我想做一个从文件中搜索href的c++程序

(请注意,您不需要 python;您需要 parse HTML;您会找到 C++ 库,例如 myhtml)。

现在我的问题是如何将 href 发送到 python 程序?

这是operating system 特定的,也特定于您的 Python 程序。阅读more 了解 C++。注意std::system

阅读关于embedding and extending python的章节。

考虑同时启动一个新的process 并使用inter-process communication 设施。在 Linux 上,请参阅 pipe(7)popen(3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    相关资源
    最近更新 更多