新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:c語言如何運行python腳本
目前的C/C++與python的混合編程分為兩大類:

1、使用python調(diào)用c/c++編寫的擴展庫,擴展python的功能,我們暫且稱為python調(diào)用c/c++
2、使用c/c++程序調(diào)用執(zhí)行python中定義的函數(shù)等,我們暫且稱為c/c++調(diào)用python
本文只針對c/c++調(diào)用執(zhí)行python作一方面的介紹,如有不正確的地方,還請諸位批評指正。
目前,主流的用法是把python作為一種文本形式的鏈接庫,在c/c++程序中調(diào)用其中定義的函數(shù),這方面的資料很多,本文就不在贅述了,本文重點介紹一種完整調(diào)用python腳本文件及參數(shù)的方法,閑話少說,上例子:
以下是測試用的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++程序文件:test.c++
#include "python2.6/Python.h"
int main()
{
//第一步:初始化Python
//在調(diào)用Python的提供的給C的API之前,通過執(zhí)行初始化
//來添加Python的內(nèi)建模塊、__main__、sys等
Py_Initialize();
//檢查初始化是否完成
if (!Py_IsInitialized())
{
return -1;
}
//第二步:導(dǎo)入sys模塊
PyRun_SimpleString("import sys");
//第三步:導(dǎo)入執(zhí)行腳本時的命令行參數(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;
}推薦學(xué)習(xí)《Python教程》!
新聞名稱:創(chuàng)新互聯(lián)Python教程:c語言如何運行python腳本
本文URL:http://fisionsoft.com.cn/article/dhcoggs.html


咨詢
建站咨詢
