日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(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;
}

推薦學習《Python教程》!


當前文章:創(chuàng)新互聯(lián)Python教程:c語言如何運行python腳本
當前地址:http://www.5511xx.com/article/dhcoggs.html