在运行C++代码和 python 脚本之间交换信息

Exchanging info between running C++ code and python script

本文关键字:脚本 之间 交换 信息 python 运行 C++ 代码      更新时间:2023-10-16

我有一个在C++程序中调用的python脚本。python 脚本根据当前时间创建一个目录,将文件放入其中,然后执行返回到 C++。我想将参数文件保存到 python 程序中创建的目录中。

我认为我的选择是:

  1. 将要保存在参数文件中的文本传递给 Python 程序,并让它创建并保存文件
  2. 从 python 返回要C++的目录的位置,以便它知道将文件保存到何处
  3. 使用 C++ 在执行 python 脚本后找到最近创建的目录并将文件放在那里

我不知道该怎么做。我的 python 脚本没有嵌入。我使用

    std::string test = "python analyzeData2.py";
system(test.c_str());

调用 Python 脚本。

任何想法如何做到这一点?

我会选择选项 B - 将目录的位置从 python 返回给 c++,以便它知道在哪里保存文件。

如果你打算使用 system(),像这样:

char* dirname[64];
FILE* fin;
system("python analyzeData2.py > created.log");
fin = fopen("created.log", "r");
fgets(dirname, sizeof(dirname), fin);
fclose(fin);
/* dirname has contents of created.log */
...