這篇文章主要介紹c語(yǔ)言運(yùn)行python腳本的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、應(yīng)城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為應(yīng)城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
目前的C/C++與python的混合編程分為兩大類:
1、使用python調(diào)用c/c++編寫(xiě)的擴(kuò)展庫(kù),擴(kuò)展python的功能,我們暫且稱為python調(diào)用c/c++
2、使用c/c++程序調(diào)用執(zhí)行python中定義的函數(shù)等,我們暫且稱為c/c++調(diào)用python
本文只針對(duì)c/c++調(diào)用執(zhí)行python作一方面的介紹,如有不正確的地方,還請(qǐng)諸位批評(píng)指正。
目前,主流的用法是把python作為一種文本形式的鏈接庫(kù),在c/c++程序中調(diào)用其中定義的函數(shù),這方面的資料很多,本文就不在贅述了,本文重點(diǎn)介紹一種完整調(diào)用python腳本文件及參數(shù)的方法,閑話少說(shuō),上例子:
以下是測(cè)試用的python腳本文件,功能是輸出命令行參數(shù):sample.py
# !/usr/bin/env python2.6 import sys def test(): for arg in sys.argv: print arg if __name__=='__main__': test()
以下是測(cè)試用的c++程序文件:test.c++
#include "python2.6/Python.h" int main() { //第一步:初始化Python //在調(diào)用Python的提供的給C的API之前,通過(guò)執(zhí)行初始化 //來(lái)添加Python的內(nèi)建模塊、__main__、sys等 Py_Initialize(); //檢查初始化是否完成 if (!Py_IsInitialized()) { return -1; } //第二步:導(dǎo)入sys模塊 PyRun_SimpleString("import sys"); //第三步:導(dǎo)入執(zhí)行腳本時(shí)的命令行參數(shù),如:./sample.py arg1 arg2 PyRun_SimpleString("sys.argv['arg1','arg2']"); //第四步:執(zhí)行調(diào)用腳本文件命令,注意文件的路徑 if (PyRun_SimpleString("execfile('./sample.py')") == NULL) { return -1; } //第五步:關(guān)閉Python解釋器 Py_Finalize(); return 0; }
以上是c語(yǔ)言運(yùn)行python腳本的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!