首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Python中的输入输入到C++程序中

将Python中的输入输入到C++程序中
EN

Stack Overflow用户
提问于 2015-05-25 05:21:57
回答 3查看 2.5K关注 0票数 1

我正在开发一个程序,它包装了一个用Python改变核苷酸序列的C++程序。我更熟悉Python而不是C++,使用python解析数据文件对我来说更容易。

如何获取我在Python中解析的字符串,并将其用作C++程序的输入?C++程序本身已经将用户输入的字符串作为输入。

EN

回答 3

Stack Overflow用户

发布于 2015-05-25 05:25:09

您可以将python脚本作为单独的进程启动,并获得其完整的输出。在QT中,您可以这样做,例如:

代码语言:javascript
复制
QString pythonAddress = "C:\\Python32\\python.exe";
QStringList params;

params << "C:\\your_script.py" << "parameter2" << "parameter3" << "parameter4";

p.start(pythonAddress, params);
p.waitForFinished(INFINITE);
QString p_stdout = p.readAll().trimmed(); // Here is the process output.

如果您不熟悉QT,请使用特定于平台的进程操作技术或boost。看看这个:

How to execute a command and get output of command within C++?

How to create a process in C++ on Windows?

Execute a process and return its standard output in VC++

票数 1
EN

Stack Overflow用户

发布于 2015-05-25 05:25:21

如果您的意思是从Python调用一个程序并对其输出做一些操作,那么您需要subprocess模块。

如果您想直接向Python公开您的C++函数,那么我建议您查看Boost.Python

票数 0
EN

Stack Overflow用户

发布于 2015-05-25 05:37:30

您是否希望将python程序的输出用作C++程序的输入?

为此,您可以使用shell:

代码语言:javascript
复制
python ./program.py | ./c_program  

您是否希望从C++中执行python程序并以字符串形式返回输出?

可能有更好的方法可以做到这一点,但这里有一个快速解决方案:

代码语言:javascript
复制
//runs in the shell and gives you back the results (stdout and stderr)
std::string execute(std::string const& cmd){
    return exec(cmd.c_str());
}
std::string execute(const char* cmd) {
    FILE* pipe = popen(cmd, "r");
    if (!pipe) return "ERROR";
    char buffer[128];
    std::string result = "";
    while(!feof(pipe)) {
        if(fgets(buffer, 128, pipe) != NULL)
            result += buffer;
    }
    pclose(pipe);
        if (result.size() > 0){
    result.resize(result.size()-1);
    }
    return result;
}

代码语言:javascript
复制
std::string results_of_python_program = execute("python program.py");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30428458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档