您好,登錄后才能下訂單哦!
這篇文章主要介紹c語言運行python腳本的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
目前的C/C++與python的混合編程分為兩大類:
1、使用python調用c/c++編寫的擴展庫,擴展python的功能,我們暫且稱為python調用c/c++
2、使用c/c++程序調用執行python中定義的函數等,我們暫且稱為c/c++調用python
本文只針對c/c++調用執行python作一方面的介紹,如有不正確的地方,還請諸位批評指正。
目前,主流的用法是把python作為一種文本形式的鏈接庫,在c/c++程序中調用其中定義的函數,這方面的資料很多,本文就不在贅述了,本文重點介紹一種完整調用python腳本文件及參數的方法,閑話少說,上例子:
以下是測試用的python腳本文件,功能是輸出命令行參數:sample.py
# !/usr/bin/env python2.6 import sys def test(): for arg in sys.argv: print arg if __name__=='__main__': test()
以下是測試用的c++程序文件:test.c++
#include "python2.6/Python.h" int main() { //第一步:初始化Python //在調用Python的提供的給C的API之前,通過執行初始化 //來添加Python的內建模塊、__main__、sys等 Py_Initialize(); //檢查初始化是否完成 if (!Py_IsInitialized()) { return -1; } //第二步:導入sys模塊 PyRun_SimpleString("import sys"); //第三步:導入執行腳本時的命令行參數,如:./sample.py arg1 arg2 PyRun_SimpleString("sys.argv['arg1','arg2']"); //第四步:執行調用腳本文件命令,注意文件的路徑 if (PyRun_SimpleString("execfile('./sample.py')") == NULL) { return -1; } //第五步:關閉Python解釋器 Py_Finalize(); return 0; }
以上是c語言運行python腳本的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。