新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C++調(diào)用python腳本函數(shù)基本應(yīng)用指南
C++編程語言的應(yīng)用方式比較靈活,而且其支持性也比較廣泛,比如可以調(diào)用C#的一些應(yīng)用以及今天為大家介紹的C++調(diào)用python腳本函數(shù)的相關(guān)方法。下面就讓我們一起來看看C++調(diào)用python腳本函數(shù)的實現(xiàn)方法。

創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)的建站公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點成百上千。
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!"<
- return 0;
- }
- cout<<"Get the function in .py"<
- 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 "<
- 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)方法就為大家介紹到這里。
【編輯推薦】
- C++動態(tài)創(chuàng)建對象應(yīng)用技術(shù)講解
- 各種常用C++類庫概覽
- C++顯式轉(zhuǎn)換中幾種不同的轉(zhuǎn)換方式
- C++隱式轉(zhuǎn)換各種發(fā)生情況
- C++析構(gòu)函數(shù)不同使用方式
網(wǎng)站題目:C++調(diào)用python腳本函數(shù)基本應(yīng)用指南
當(dāng)前路徑:http://m.5511xx.com/article/cdjpehd.html


咨詢
建站咨詢
