運行一句python命令
對vc設置路徑
include:D:/PYTHON31/INCLUDE
lib:D:/PYTHON31/LIBS
#include "stdafx.h"
#include "python.h"
int main(int argc, char* argv[])
{
Py_Initialize() ;
PyRun_SimpleString("print('Hello')");
//PyRun_SimpleString("print(dir())");
Py_Finalize();
return 0;
}
編譯、連接
拷貝D:/Python31/python31.dll到exe文件目錄
運行,輸出到控制檯
可以運行多行命令
Py_Initialize() ;
PyRun_SimpleString("x=100");
PyRun_SimpleString("print(x)");
PyRun_SimpleString("a=x*x/nprint(a)/n");
Py_Finalize();
相當於在python下運行下列代碼
x=100
print(X)
a=x*x
print(a)
控制檯輸入
以下代碼解釋控制檯輸入
#include "stdafx.h"
#include "python.h"
int main(int argc, char* argv[])
{
Py_Initialize() ;
PyRun_AnyFile(stdin,NULL);
Py_Finalize();
return 0;
}
讀取python變量值
將python運行結果讀取到vc中
char *cstr;
PyObject *pstr;
PyObject *main_dict;
Py_Initialize() ;
PyObject* main_module = PyImport_AddModule("__main__");
main_dict = PyModule_GetDict(main_module);
PyRun_SimpleString("x='abc'");
pstr = PyRun_String("x", Py_eval_input, main_dict, main_dict);
PyArg_Parse(pstr,"s",&cstr); //轉換
printf(cstr);
Py_Finalize();