我用一个字符串向量解决了我的问题,将文件的每一行读入向量,然后用PyRun_SimpleString执行每一行。
std::矢量字符串;
std::字符串内容;
if(python_script.empty())
ail::read_lines(python_script, string_vector);
if(!ail::read_file(python_script, content))
{
error("Failed to load Python script \"" + python_script + "\"");
return false;
}
if(prompt_mode)
initialise_console();
content = ail::replace_string(content, "\r", "");
Py_Initialize();
initialise_module();
std::string script_directory;
if(get_base_name(python_script, script_directory))
PyRun_SimpleString(("import sys\nsys.path.append('" + script_directory + "')\n").c_str());
for(int i = 0; i < string_vector.size(); i++)
{
string_vector[i] = ail::replace_string(string_vector[i], "\r", "");
PyRun_SimpleString(string_vector[i].c_str());
}
return true;