C++調(diào)用python腳本函數(shù)基本應(yīng)用指南
作者:佚名 
  我們今天將會通過一段代碼為大家詳細(xì)介紹一下有關(guān)C++調(diào)用python腳本函數(shù)的一些應(yīng)用方式,希望大家可以從中掌握到一些應(yīng)用技巧。
 C++編程語言的應(yīng)用方式比較靈活,而且其支持性也比較廣泛,比如可以調(diào)用C#的一些應(yīng)用以及今天為大家介紹的C++調(diào)用python腳本函數(shù)的相關(guān)方法。下面就讓我們一起來看看C++調(diào)用python腳本函數(shù)的實現(xiàn)方法。
C++調(diào)用python腳本函數(shù)代碼如下:
- Py_Initialize(); //初始化 python interpreter
 - PyObject *pName = PyString_FromString("test1"); // python腳本文件名
 - PyObject *pModule = PyImport_Import(pName); // import 腳本,返回pModule
 - // pModule指向這個腳本對象
 - if ( !pModule )
 - {
 - cout<<"Can't find the file!"<<endl;
 - return 0;
 - }
 - cout<<"Get the function in .py"<<endl;
 - PyObject *pDict = PyModule_GetDict(pModule); // 通過pModule得到dictionary
 - // 的指針pDict
 - PyObject *pFunc = PyDict_GetItemString(pDict,"Add");
 
// 通過pDict得到你所需的- // function,此處"Add"為test1.py
 - // 的一個funciton object
 - PyObject *pParam = PyTuple_New(1); // 填寫function所需要的參數(shù)
 - PyObject *pCurParam = PyInt_FromLong(10);
 - PyTuple_SET_ITEM(pParam,0,pCurParam);
 - PyObject *pAdded = PyObject_CallObject(pFunc,pParam);
 
// 調(diào)用此function,并得到- // 返回值
 - int max = PyInt_AsLong(pAdded); // 將返回值轉(zhuǎn)換為c++的數(shù)據(jù)類型
 - cout<<"after added ,the number is "<<max<<endl;
 - Py_XDECREF(pAdded); // 引用計數(shù)減一
 - Py_XDECREF(pCurParam);
 - Py_XDECREF(pParam);
 - // Py_XDECREF(pFunc);
 - // Py_XDECREF(pDict);
 - Py_XDECREF(pModule);
 - Py_XDECREF(pName);
 - Py_Finalize(); // 關(guān)閉
 - python interpreter
 
C++調(diào)用python腳本函數(shù)的相關(guān)方法就為大家介紹到這里。
【編輯推薦】
責(zé)任編輯:曹凱 
                    來源:
                    博客園
 














 
 
 
 
 
 
 